Сделал NPC на площади. Очень мелкий нюанс, но пришлось над ним попотеть.
This commit is contained in:
parent
8fb8d06577
commit
ac0f54b8a3
140
dialogues.lua
140
dialogues.lua
|
@ -10,8 +10,8 @@ apprehension = dlg{
|
||||||
end),-- обморок, прибегает горничная и пытается вернуть её в чувство, недобро смотря на Джека
|
end),-- обморок, прибегает горничная и пытается вернуть её в чувство, недобро смотря на Джека
|
||||||
[3] = phr ('Я хочу поздравить вас с выигрышем мешка золота.',function() return goto('apprehension_3') end),
|
[3] = phr ('Я хочу поздравить вас с выигрышем мешка золота.',function() return goto('apprehension_3') end),
|
||||||
-- [4] = phr ('Я просто зашёл посмотреть, я поброжу и уйду.'), -- не знаю, что написать
|
-- [4] = phr ('Я просто зашёл посмотреть, я поброжу и уйду.'), -- не знаю, что написать
|
||||||
[5] = phr ('Меня зовут Джек.',[[Женщина приходит в замешательство, потом выдавливает из себя: "А меня - Хель..", спотыкается на полуслове и убегает.]],function()apprehension.outcome = 5;return back();end),--замешательство, потом убегает в ужасе; прибегает сын и уводит Джека на улицу для разговора
|
[5] = phr ('Меня зовут Джек.',[[Женщина приходит в замешательство, потом выдавливает из себя: "А меня -- Хель..", спотыкается на полуслове и убегает.]],function()apprehension.outcome = 5;return back();end),--замешательство, потом убегает в ужасе; прибегает сын и уводит Джека на улицу для разговора
|
||||||
[6] = phr ('А где хозяева?','"Я - хозяйка." - кажется, что она немного обиделась.'),
|
[6] = phr ('А где хозяева?',",,Я -- хозяйка.'' -- кажется, что она немного обиделась."),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
apprehension_3 = dlg{
|
apprehension_3 = dlg{
|
||||||
|
@ -19,9 +19,9 @@ apprehension_3 = dlg{
|
||||||
dsc = [[{helga:Дварфийка} заинтересованно смотрит на Джека. Джек ободрённо говорит:^^
|
dsc = [[{helga:Дварфийка} заинтересованно смотрит на Джека. Джек ободрённо говорит:^^
|
||||||
-Я хочу поздравить вас с выигрышем мешка золота.^
|
-Я хочу поздравить вас с выигрышем мешка золота.^
|
||||||
-Меня? Мешка?^
|
-Меня? Мешка?^
|
||||||
-Да! Выигрыш уже ваш, вам надо только купить один из этих замечательных предметов... - Джек незаметно берёт с этажерки какую-то штуку, - например, это!^
|
-Да! Выигрыш уже ваш, вам надо только купить один из этих замечательных предметов... -- Джек незаметно берёт с этажерки какую-то штуку, -- например, это!^
|
||||||
Джек и дварфийка удивлённо смотрят на ладонь Джека, в которой лежит серебряный шарик.^
|
Джек и дварфийка удивлённо смотрят на ладонь Джека, в которой лежит серебряный шарик.^
|
||||||
-Ааа..а сколько это стоит? - неуверенно спрашивает женщина.]],
|
-Ааа..а сколько это стоит? -- неуверенно спрашивает женщина.]],
|
||||||
obj = {
|
obj = {
|
||||||
[1] = phr("Эээ..это бесплатно."),
|
[1] = phr("Эээ..это бесплатно."),
|
||||||
[2] = phr("Десять золотых."),
|
[2] = phr("Десять золотых."),
|
||||||
|
@ -36,3 +36,135 @@ oan_conspiracy = dlg{
|
||||||
[1] = phr(wth(),'Я говорю, гнёздышко...парень, ты кто?'),
|
[1] = phr(wth(),'Я говорю, гнёздышко...парень, ты кто?'),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
citizen_1 = dlg{
|
||||||
|
nam = 'Диалог с мужчиной',
|
||||||
|
dsc = 'Джек останавливает прохожего и спрашивает:',
|
||||||
|
exit = function()
|
||||||
|
local exit_response = {
|
||||||
|
'Отвязавшись от Джека, мужчина спешно уходит.',
|
||||||
|
'Мужчина уходит как можно быстрее.',
|
||||||
|
'Джек отвлекается и не замечает, как собеседника и след простыл.',
|
||||||
|
'Собеседник исчезает в ближайшем закоулке.',
|
||||||
|
'Мужчина спешно ретируется.',
|
||||||
|
'Джек теряет интерес к собеседнику, и тот пользуется этим, чтобы исчезнуть.'
|
||||||
|
}
|
||||||
|
return exit_response[rnd(#exit_response)];
|
||||||
|
end,
|
||||||
|
obj = {
|
||||||
|
phr('Меня зовут Джек. А вас как зовут?',function()
|
||||||
|
local response = {
|
||||||
|
'Какая тебе, к чёрту, разница?',
|
||||||
|
'Тебе-то какое дело?',
|
||||||
|
'Какая тебе разница?',
|
||||||
|
'Эээ...я не помню.',
|
||||||
|
'Не твоё дело.',
|
||||||
|
",,Лучше не спрашивай.'' - вздыхает прохожий.",
|
||||||
|
'Тебе лучше не знать.',
|
||||||
|
'Я твоё имя спрашивал? Нет! Вот и ты моё не спрашивай.'
|
||||||
|
}
|
||||||
|
return response[rnd(#response)];
|
||||||
|
end),
|
||||||
|
phr('Вы не знаете, где мне найти Эндрю Октанта?', function()
|
||||||
|
local response = {
|
||||||
|
",,Знать не знаю никаких Октантов. Но обычно, если кого-то нельзя найти, то он хочет, чтобы его не искали.'' -- мужчина торопится",
|
||||||
|
"Октант? Ни разу не слышал о таком.",
|
||||||
|
'Эндрю? Что за странное имя!',
|
||||||
|
"Нет, я ничего не знаю о таком.",
|
||||||
|
"Вы так у каждого встречного спрашиваете?",
|
||||||
|
"Спросите у самого Октанта.",
|
||||||
|
"Не приставайте ко мне со своими дурацкими вопросами!",
|
||||||
|
"Мужчина думает, затем медленно говорит: ,,Сам я не знаю, но ты можешь спросить у какого-нибудь стража. Их здесь полно.''"
|
||||||
|
}
|
||||||
|
return response[rnd(#response)];
|
||||||
|
end),
|
||||||
|
phr('Ой, извините, что побеспокоил.',function()
|
||||||
|
local response = {
|
||||||
|
'Да ничего, всё нормально.',
|
||||||
|
"Если я тебя ещё раз увижу...",
|
||||||
|
'Прочь!',
|
||||||
|
"Парень, купи мозг!",
|
||||||
|
'Нет-нет, это нормально.',
|
||||||
|
'Пшёл вон!',
|
||||||
|
'Дурак.',
|
||||||
|
'Ты дурак, и вопросы у тебя дурацкие.',
|
||||||
|
'Не воруй моё время!',
|
||||||
|
'Оставь меня побыстрее в покое!'
|
||||||
|
}
|
||||||
|
return response[rnd(#response)];
|
||||||
|
end,function() return back(); end),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
citizen_2 = dlg{
|
||||||
|
nam = 'Бездомная собака',
|
||||||
|
dsc = 'Джек наклоняется к собаке и спрашивает:',
|
||||||
|
exit = function()
|
||||||
|
local exit_response = {
|
||||||
|
'Что-то заметив, собака убегает.',
|
||||||
|
'Что-то услышав, собака убегает.',
|
||||||
|
'Собака убегает вслед за каким-то прохожим.',
|
||||||
|
'Собака видит кошку и считает своим долгом за ней погнаться, лая что есть силы.',
|
||||||
|
'Собака понимает, что ничего более от вас не добьётся, и разочарованно уходит.',
|
||||||
|
'Собака куда-то исчезает.'
|
||||||
|
}
|
||||||
|
return exit_response[rnd(#exit_response)];
|
||||||
|
end,
|
||||||
|
obj = {
|
||||||
|
phr('Меня зовут Джек. А вас как зовут?',"Гав!"),
|
||||||
|
phr('Вы не знаете, где мне найти Эндрю Октанта?', 'Гав-гав!'),
|
||||||
|
phr('Ой, извините, что побеспокоил.','Аф!',function() return back(); end),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
citizen_3 = dlg{
|
||||||
|
nam = 'Страж',
|
||||||
|
dsc = 'Джек останавливает стража и спрашивает:',
|
||||||
|
exit = function()
|
||||||
|
local exit_response = {
|
||||||
|
'Страж продолжает свой путь.',
|
||||||
|
'Страж уходит, сотрясая доспехами чуть громче, чем до этого.',
|
||||||
|
'Страж уходит, сотрясая доспехами чуть тише, чем до этого.',
|
||||||
|
'Джек отвлекается и не замечает, как собеседника и след простыл.',
|
||||||
|
'Страж на удивление тихо удаляется.',
|
||||||
|
'Страж удаляется, как будто ничего не случилось.',
|
||||||
|
}
|
||||||
|
return exit_response[rnd(#exit_response)];
|
||||||
|
end,
|
||||||
|
obj = {
|
||||||
|
phr('Меня зовут Джек. А вас как зовут?',function() --TODO
|
||||||
|
local response = {
|
||||||
|
'Какая тебе, к чёрту, разница?',
|
||||||
|
'Тебе-то какое дело?',
|
||||||
|
'Какая тебе разница?',
|
||||||
|
'Эээ...я не помню.',
|
||||||
|
'Не твоё дело.',
|
||||||
|
",,Лучше не спрашивай.'' - вздыхает страж.",
|
||||||
|
'Тебе лучше не знать.',
|
||||||
|
}
|
||||||
|
return response[rnd(#response)];
|
||||||
|
end),
|
||||||
|
phr('Вы не знаете, где мне найти Эндрю Октанта?', function()
|
||||||
|
local response = {
|
||||||
|
"Я не знаю"..txtb('каждого').."жителя.",
|
||||||
|
"Октант? Ни разу не слышал о таком.",
|
||||||
|
'Эндрю? Что за странное имя!',
|
||||||
|
"Нет, я ничего не знаю о таком.",
|
||||||
|
"Нет, не знаю.",
|
||||||
|
'Парень, иди к чёрту.',
|
||||||
|
'Гражданин, идите куда шли.',
|
||||||
|
"Хмм...возможно, вам стоит пойти...прямо. Да, прямо пойдёте и найдёте его.",
|
||||||
|
"Страж думает, затем медленно говорит: ,,Сам я не знаю, но ты можешь спросить у какого-нибудь прохожего. Их здесь полно.''"
|
||||||
|
}
|
||||||
|
return response[rnd(#response)];
|
||||||
|
end),
|
||||||
|
phr('Ой, извините, что побеспокоил.',function()
|
||||||
|
local response = {
|
||||||
|
'Да ничего, всё нормально.',
|
||||||
|
"Дорогу!",
|
||||||
|
'Прочь!',
|
||||||
|
'Нет-нет, это нормально.',
|
||||||
|
'Не воруй моё время!',
|
||||||
|
'Я на службе.'
|
||||||
|
}
|
||||||
|
return response[rnd(#response)];
|
||||||
|
end,function() return back(); end),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
function comment_time()--Волшебник комментирует, как быстро Джек решил загадку.
|
function comment_time()--Волшебник комментирует, как быстро Джек решил загадку. (TODO)
|
||||||
return '';
|
return '';
|
||||||
end
|
end
|
||||||
a = rnd(9);
|
a = rnd(9);
|
||||||
|
@ -6,7 +6,7 @@ function comment_things()--Волшебник комментирует, что
|
||||||
if have('compress') then return 'Да, у тебя есть лечебный компресс! Ты сделал очень нужную вещь, она тебе очень-очень понадобилась бы! Ты вообще понимаешь, откуда ты свалился? И как долго ты летел? И что ты сейчас вместе с этим компрессом чуть не превратился в лепёшку? Компресс с подорожником! Что за идиотская идея? Слушай, кончай свой цирк и давай уже думай над реальной проблемой. Отдышался? А, мне всё равно. '..txtem('Телепорт!');
|
if have('compress') then return 'Да, у тебя есть лечебный компресс! Ты сделал очень нужную вещь, она тебе очень-очень понадобилась бы! Ты вообще понимаешь, откуда ты свалился? И как долго ты летел? И что ты сейчас вместе с этим компрессом чуть не превратился в лепёшку? Компресс с подорожником! Что за идиотская идея? Слушай, кончай свой цирк и давай уже думай над реальной проблемой. Отдышался? А, мне всё равно. '..txtem('Телепорт!');
|
||||||
elseif have('sailboat') then return 'Парусная лодка! Нет, не так: парусная лодка на высоте десяти километров! Ё-моё, ты вообще в своём уме? На что ты надеялся, когда делал это? Ну да, тебя очень сильно отнесло ветром, ты упал уже в другой части города. И что? нет, парень, так дело не пойдёт. Заново!';
|
elseif have('sailboat') then return 'Парусная лодка! Нет, не так: парусная лодка на высоте десяти километров! Ё-моё, ты вообще в своём уме? На что ты надеялся, когда делал это? Ну да, тебя очень сильно отнесло ветром, ты упал уже в другой части города. И что? нет, парень, так дело не пойдёт. Заново!';
|
||||||
elseif have('mace') then return 'Что это у тебя в руках? Это...это что-то вроде булавы? Это твоё оружие? Ой, не могу. Он падает с такой высоты и думает о том, кого прибьёт когда приземлится. Ты у нас герой какого уровня? Запредельного? Значит, так. Кончай комедию и давай по-серьёзному. А то мне это скоро надоест.';
|
elseif have('mace') then return 'Что это у тебя в руках? Это...это что-то вроде булавы? Это твоё оружие? Ой, не могу. Он падает с такой высоты и думает о том, кого прибьёт когда приземлится. Ты у нас герой какого уровня? Запредельного? Значит, так. Кончай комедию и давай по-серьёзному. А то мне это скоро надоест.';
|
||||||
elseif have('bomb') then return "Ой, что это? Бомбочка? Взорвать мальчик кого-то решил? Какой нехороший мальчик. Хотя нет, я, кажется, знаю твой план. Ты думал о том, чтобы поджечь фитиль и бросить её вниз - она там взорвётся, и ударная волна смягчит твоё падение. Правильно? Так вот, я тебе заявляю, что это - самый дурацкий план, который я когда-либо встречал. Конечно, ты проявил долю смекалки и в твоём положении можно рассчитывать на любой малый шанс, но тем не менее. Попробуй что-нибудь другое.";
|
elseif have('bomb') then return "Ой, что это? Бомбочка? Взорвать мальчик кого-то решил? Какой нехороший мальчик. Хотя нет, я, кажется, знаю твой план. Ты думал о том, чтобы поджечь фитиль и бросить её вниз -- она там взорвётся, и ударная волна смягчит твоё падение. Правильно? Так вот, я тебе заявляю, что это -- самый дурацкий план, который я когда-либо встречал. Конечно, ты проявил долю смекалки и в твоём положении можно рассчитывать на любой малый шанс, но тем не менее. Попробуй что-нибудь другое.";
|
||||||
elseif have('axe_porridge') then return 'Эм..эм..эм..топор. Нет, дай мне ещё раз это сказать: топор. Горшок. И вода. Я ещё раз хочу: топор, горшок и вода. Вопрос на засыпку: как эти три предмета могут помочь тебе? Ты хотел сварить топор? Да, получилась бы отличная каша. А когда бы ты его сварил? Когда приземлился? Ну, друг мой, вы же редкостный тупица. Включайте мозги и давайте повторим эксперимент.';
|
elseif have('axe_porridge') then return 'Эм..эм..эм..топор. Нет, дай мне ещё раз это сказать: топор. Горшок. И вода. Я ещё раз хочу: топор, горшок и вода. Вопрос на засыпку: как эти три предмета могут помочь тебе? Ты хотел сварить топор? Да, получилась бы отличная каша. А когда бы ты его сварил? Когда приземлился? Ну, друг мой, вы же редкостный тупица. Включайте мозги и давайте повторим эксперимент.';
|
||||||
-- elseif have('') then return
|
-- elseif have('') then return
|
||||||
end;
|
end;
|
||||||
|
@ -37,3 +37,20 @@ function wth()
|
||||||
};
|
};
|
||||||
return response[rnd(#response)];
|
return response[rnd(#response)];
|
||||||
end
|
end
|
||||||
|
function citizen_man_description()
|
||||||
|
local quality = {
|
||||||
|
'остроносый','крючконосый','длинный','высокий','низкий','плюгавый','смуглый',
|
||||||
|
'светлый','тёмный','просветлённый','немного сплющенный по бокам',
|
||||||
|
'красивый','уродливый','задумчивый','беззаботный','рассеянный',
|
||||||
|
'длиннобородый', 'козлобородый'
|
||||||
|
};
|
||||||
|
local note = {
|
||||||
|
' в светлом костюме', ' в тёмном костюме', ' без штанов', ' без рубашки',--да, много чудиков :-)
|
||||||
|
' с книгой в руках', ' с вазой в руках', ' с собакой в руках',
|
||||||
|
', кажется, немного напуганный', ',перекатываясь с одной ноги на другую',
|
||||||
|
' с кошкой под мышкой',' в странной одежде без пуговиц и шнурков с надписью "Я ЛЮБЛЮ ФЕНТЕЗИ"',
|
||||||
|
' в широкополой шляпе',' в рыбацком костюме',' в дурацком костюме горохового стручка',
|
||||||
|
' с косой', ' с длинной косой', ' с деревянной ногой', ' на ходулях',
|
||||||
|
};
|
||||||
|
return 'Мимо идёт '..quality[rnd(#quality)]..' {мужчина}'..note[rnd(#note)]..'.';
|
||||||
|
end
|
||||||
|
|
15
main.lua
15
main.lua
|
@ -1,10 +1,11 @@
|
||||||
-- $Name: Джек Эйхе$
|
-- $Name: Джек Эйхе$
|
||||||
require "dbg";
|
require "dbg";
|
||||||
require "para";
|
require "para";
|
||||||
|
require "dash";
|
||||||
|
require "quotes";
|
||||||
require "xact";
|
require "xact";
|
||||||
-- To-Do:
|
instead_version "1.2.0";
|
||||||
-- описание Хельги
|
-- Не выпускать пока все TODO не будут закрыты.
|
||||||
-- comment_time()
|
|
||||||
game.act = function()
|
game.act = function()
|
||||||
local reaction = {
|
local reaction = {
|
||||||
[1] = 'Нет реакции.',
|
[1] = 'Нет реакции.',
|
||||||
|
@ -20,7 +21,7 @@ game.act = function()
|
||||||
[11] = 'Зачем обращать внимание на такую ерунду?',
|
[11] = 'Зачем обращать внимание на такую ерунду?',
|
||||||
[12] = 'Это ошибка в Матрице. Необходимо срочно вызвать Архитектора.',
|
[12] = 'Это ошибка в Матрице. Необходимо срочно вызвать Архитектора.',
|
||||||
};
|
};
|
||||||
return reaction[rnd(12)];
|
return reaction[rnd(#reaction)];
|
||||||
end;
|
end;
|
||||||
game.inv = function()
|
game.inv = function()
|
||||||
local reaction = {
|
local reaction = {
|
||||||
|
@ -34,7 +35,7 @@ game.inv = function()
|
||||||
[8] = 'Существование этого предмета у меня в кармане подвергается сомнению. Проще говоря, я не верю,что ношу его с собой.',
|
[8] = 'Существование этого предмета у меня в кармане подвергается сомнению. Проще говоря, я не верю,что ношу его с собой.',
|
||||||
[9] = 'Я бы скорее предпочёл иметь в кармане что-нибудь другое, но раз выбора нет...',
|
[9] = 'Я бы скорее предпочёл иметь в кармане что-нибудь другое, но раз выбора нет...',
|
||||||
};
|
};
|
||||||
return reaction[rnd(9)];
|
return reaction[rnd(#reaction)];
|
||||||
end;
|
end;
|
||||||
game.forcedsc = true;
|
game.forcedsc = true;
|
||||||
|
|
||||||
|
@ -61,12 +62,12 @@ game.use = function()
|
||||||
[19] = 'Точно нет.',
|
[19] = 'Точно нет.',
|
||||||
[20] = 'У меня не настолько хорошее настроение.',
|
[20] = 'У меня не настолько хорошее настроение.',
|
||||||
};
|
};
|
||||||
return reaction[rnd(20)];
|
return reaction[rnd(#reaction)];
|
||||||
end;
|
end;
|
||||||
pl.Points = 0;
|
pl.Points = 0;
|
||||||
|
|
||||||
game.codepage="UTF-8";
|
game.codepage="UTF-8";
|
||||||
|
dofile("functions.lua");
|
||||||
dofile("objects.lua");
|
dofile("objects.lua");
|
||||||
dofile("dialogues.lua");
|
dofile("dialogues.lua");
|
||||||
dofile("functions.lua");
|
|
||||||
dofile("rooms.lua");
|
dofile("rooms.lua");
|
||||||
|
|
22
objects.lua
22
objects.lua
|
@ -6,7 +6,7 @@ door1_obj = obj{
|
||||||
door2_obj = obj{
|
door2_obj = obj{
|
||||||
nam = 'дверь 2',
|
nam = 'дверь 2',
|
||||||
dsc = '{дверь 2} и ',
|
dsc = '{дверь 2} и ',
|
||||||
act = 'Табличка на двери гласит: "Это - безопасная дверь"',
|
act = 'Табличка на двери гласит: "Это -- безопасная дверь"',
|
||||||
}
|
}
|
||||||
door3_obj = obj{
|
door3_obj = obj{
|
||||||
nam = 'дверь 3',
|
nam = 'дверь 3',
|
||||||
|
@ -268,10 +268,24 @@ axe_porridge = cobj{
|
||||||
fountain = obj{
|
fountain = obj{
|
||||||
nam = 'фонтан',
|
nam = 'фонтан',
|
||||||
dsc = 'В центре площади стоит высохший {фонтан}. На брусчатке рядом лежит столб с надписью: "Вы стоите на площади имени Звёздных Королей".',
|
dsc = 'В центре площади стоит высохший {фонтан}. На брусчатке рядом лежит столб с надписью: "Вы стоите на площади имени Звёздных Королей".',
|
||||||
act = [[В центре шестиугольного бассейна с водой стоит статуя. Мужчина с мечом верхом на драконе; пасть дракона раскрыта. Скорее всего, из неё когда-то текла вода. Джек смутно узнаёт изображение Торма, бога долга и честности - но его смущает голова мужчины. Присмотревшись, он понимает, что голова статуи была не очень умело заменена другой - возможно, более подходящей. Кто теперь восседает на драконе Верности, остаётся только гадать.^
|
act = [[В центре шестиугольного бассейна с водой стоит статуя. Мужчина с мечом верхом на драконе; пасть дракона раскрыта. Скорее всего, из неё когда-то текла вода. Джек смутно узнаёт изображение Торма, бога долга и честности -- но его смущает голова мужчины. Присмотревшись, он понимает, что голова статуи была не очень умело заменена другой -- возможно, более подходящей. Кто теперь восседает на драконе Верности, остаётся только гадать.^
|
||||||
Фонтан не работает; вода в чаше позеленела, и от неё исходит слабый, но различимый болотный запах.]]
|
Фонтан не работает; вода в чаше позеленела, и от неё исходит слабый, но различимый болотный запах.]]
|
||||||
--http://www.wizards.com/dnd/images/fp_gallery/fp1/Torm_p75.jpg
|
--http://www.wizards.com/dnd/images/fp_gallery/fp1/Torm_p75.jpg
|
||||||
}
|
}
|
||||||
|
citizen = obj{
|
||||||
|
nam = 'местный житель',
|
||||||
|
number = 0,
|
||||||
|
description = {
|
||||||
|
citizen_man_description(),
|
||||||
|
'Вокруг Джека вертится бездомная {собака}.',
|
||||||
|
'Мимо проходит, звеня доспехами, {страж} города.',
|
||||||
|
},
|
||||||
|
dsc = function(object)
|
||||||
|
object.number = rnd(#object.description);
|
||||||
|
return object.description[object.number];
|
||||||
|
end,
|
||||||
|
act = function() goto(deref("citizen_"..citizen.number));number = rnd(#citizen.description); end, --NPC не изменится, пока с ним не заговоришь; это довольно нереалистично, но приемлимо.
|
||||||
|
}
|
||||||
elm_st = obj{
|
elm_st = obj{
|
||||||
nam = 'Улица Вязов',
|
nam = 'Улица Вязов',
|
||||||
dsc = 'В конце улицы стоит немного покосившийся указательный столб. Единственный выживший указатель на нём показывает на улицу справа: {"Улица Вязов".}',
|
dsc = 'В конце улицы стоит немного покосившийся указательный столб. Единственный выживший указатель на нём показывает на улицу справа: {"Улица Вязов".}',
|
||||||
|
@ -316,7 +330,7 @@ bench = obj{
|
||||||
}
|
}
|
||||||
stand = obj{
|
stand = obj{
|
||||||
nam = 'этажерка',
|
nam = 'этажерка',
|
||||||
dsc = 'далее - невысокая {этажерка} ',
|
dsc = 'далее -- невысокая {этажерка} ',
|
||||||
act = 'В этажерке лежат шнурки, обувные щётки, ложки и прочий бытовой хлам.'
|
act = 'В этажерке лежат шнурки, обувные щётки, ложки и прочий бытовой хлам.'
|
||||||
}
|
}
|
||||||
wardrobe = obj{
|
wardrobe = obj{
|
||||||
|
@ -324,7 +338,7 @@ wardrobe = obj{
|
||||||
dsc = 'и {шкаф.}',
|
dsc = 'и {шкаф.}',
|
||||||
act = 'В шкафу висят чистые и сухие плащи и накидки. Под ними стоит пара красных сапог.'
|
act = 'В шкафу висят чистые и сухие плащи и накидки. Под ними стоит пара красных сапог.'
|
||||||
}
|
}
|
||||||
helga = xact("helga_octant","")
|
helga = xact("helga_octant","") --TODO
|
||||||
helga_lying = obj{
|
helga_lying = obj{
|
||||||
nam = 'Хельга Октант в обмороке',
|
nam = 'Хельга Октант в обмороке',
|
||||||
dsc = 'На лестнице наверх лежит в обмороке {дварфийка.}',
|
dsc = 'На лестнице наверх лежит в обмороке {дварфийка.}',
|
||||||
|
|
36
rooms.lua
36
rooms.lua
|
@ -1,7 +1,7 @@
|
||||||
main = room {
|
main = room {
|
||||||
nam = "Около 300 лет назад. Континент Рубинов.",
|
nam = "Около 300 лет назад. Континент Рубинов.",
|
||||||
dsc = [[
|
dsc = [[
|
||||||
Крепко сжимая верный меч, Джек прокрался по траве и подбежал к стене замка. Оглянувшись, он снял с плеча крюк, ещё раз проверил, выдержит ли узел канат на нём, и бросил крюк наверх. Тот полетел на крышу, унося за собой верёвку. Раздалось громкое "клац" и Джек понял, что свободный конец каната качается примерно в метре над его головой.^^
|
Крепко сжимая верный меч, Джек прокрался по траве и подбежал к стене замка. Оглянувшись, он снял с плеча крюк, ещё раз проверил, выдержит ли узел канат на нём, и бросил крюк наверх. Тот полетел на крышу, унося за собой верёвку. Раздалось громкое "клац", и Джек понял, что свободный конец каната качается примерно в метре над его головой.^^
|
||||||
|
|
||||||
Чертыхнувшись, он разбежался, прыгнул как можно выше, схватился за верёвку и больно ударился о каменную стену. Качаясь на конце каната, он начал забираться.^^
|
Чертыхнувшись, он разбежался, прыгнул как можно выше, схватился за верёвку и больно ударился о каменную стену. Качаясь на конце каната, он начал забираться.^^
|
||||||
|
|
||||||
|
@ -10,33 +10,33 @@ main = room {
|
||||||
Джек бесшумно раскрыл окно, встал на подоконник и прыгнул, занеся меч над головой...^^]]..txtem('Клетка Силы!')..
|
Джек бесшумно раскрыл окно, встал на подоконник и прыгнул, занеся меч над головой...^^]]..txtem('Клетка Силы!')..
|
||||||
|
|
||||||
[[^^
|
[[^^
|
||||||
Казалось, волшебник даже не двинул пальцем. Джек обнаружил себя в ровной тесной клетке с белыми прутьями. Он попытался сломать прутья мечом - но на белых прутьях, словно созданных из лунного света, не было видно даже царапин.^^
|
Казалось, волшебник даже не двинул пальцем. Джек обнаружил себя в ровной тесной клетке с белыми прутьями. Он попытался сломать прутья мечом -- но на белых прутьях, словно созданных из лунного света, не было видно даже царапин.^^
|
||||||
|
|
||||||
Оторвавшись от просмотра, Лимзогнок встал из кресла и посмотрел на Джека. Джек почувствовал острую смесь разочарования, злобы и отчаяния. Он понял, что все усилия были напрасны.
|
Оторвавшись от просмотра, Лимзогнок встал из кресла и посмотрел на Джека. Джек почувствовал острую смесь разочарования, злобы и отчаяния. Он понял, что все усилия были напрасны.
|
||||||
|
|
||||||
"Какая ирония. Ровно на сотом месяце эксперимента на меня было совершено первое покушение." ^^
|
,,Какая ирония. Ровно на сотом месяце эксперимента на меня было совершено первое покушение.'' ^^
|
||||||
|
|
||||||
Джек смотрел на колдуна так, словно хотел его прожечь взглядом.
|
Джек смотрел на колдуна так, словно хотел его прожечь взглядом.
|
||||||
|
|
||||||
"Кстати о колдунах, " - гад явно читал мысли - "что бы на моём месте сделал какой-нибудь колдун? Хмм... наверное, он бы сделал тебя своим гладиатором. Представь: ты и озеро кислоты - или нет, озеро лавы! Да, и ещё хищные кондоры, и акулы, и оборотни. И я буду делать ставки, выживешь ли ты или нет. Да, этого хотят все колдуны. Они говорят,что это весело. Весело? Быть может, но это тупо. Акулы в лаве! Что может быть хуже?"^^
|
,,Кстати о колдунах, '' -- гад явно читал мысли -- ,,что бы на моём месте сделал какой-нибудь колдун? Хмм... наверное, он бы сделал тебя своим гладиатором. Представь: ты и озеро кислоты -- или нет, озеро лавы! Да, и ещё хищные кондоры, и акулы, и оборотни. И я буду делать ставки, выживешь ли ты или нет. Да, этого хотят все колдуны. Они говорят,что это весело. Весело? Быть может, но это тупо. Акулы в лаве! Что может быть хуже?''^^
|
||||||
|
|
||||||
Волшебник ходил взад и вперёд по комнате, хитро поглядывая на Джека.
|
Волшебник ходил взад и вперёд по комнате, хитро поглядывая на Джека.
|
||||||
|
|
||||||
"Но с другой стороны, я не могу тебя отпустить. Ты сам пришёл ко мне, в конце концов. Наверное, это был подарок судьбы. Хорош ли он? Посмотрим..."
|
,,Но с другой стороны, я не могу тебя отпустить. Ты сам пришёл ко мне, в конце концов. Наверное, это был подарок судьбы. Хорош ли он? Посмотрим...''
|
||||||
|
|
||||||
В ту же секунджу Джек выронил меч и скорчился на полу клетки от боли, разрывающей его мозг. Перед ним ничего не было: ни колду...волшебника, ни комнаты, ни замка - только боль. И единственным его желанием было прекратить её.
|
В ту же секунджу Джек выронил меч и скорчился на полу клетки от боли, разрывающей его мозг. Перед ним ничего не было: ни колду...волшебника, ни комнаты, ни замка -- только боль. И единственным его желанием было прекратить её.
|
||||||
|
|
||||||
"Как хочешь."
|
,,Как хочешь.''
|
||||||
|
|
||||||
Боль исчезла, и Джек снова смог видеть.
|
Боль исчезла, и Джек снова смог видеть.
|
||||||
|
|
||||||
"Вообще-то, я разочарован. Это было всего лишь слабое воздействие, а ты уже показал себя несостоятельным. Похоже, что ты не умнее обычных людей - конечно, это довольно много для воина, но явно недостаточно для того, кто хотел убить меня в моей же спальне. Нет, так дело не пойдёт. Ты знаешь, я хочу тебе помочь. Да, я помогу тебе. Я натренирую твой мозг и сделаю тебя умнее. Для этого мы немного поиграем...]]..txtem('Сон.'),
|
"Вообще-то, я разочарован. Это было всего лишь слабое воздействие, а ты уже показал себя несостоятельным. Похоже, что ты не умнее обычных людей -- конечно, это довольно много для воина, но явно недостаточно для того, кто хотел убить меня в моей же спальне. Нет, так дело не пойдёт. Ты знаешь, я хочу тебе помочь. Да, я помогу тебе. Я натренирую твой мозг и сделаю тебя умнее. Для этого мы немного поиграем...]]..txtem('Сон.'),
|
||||||
obj = {vway('дальше', '{Начать игру}.', 'three_doors') },
|
obj = {vway('дальше', '{Начать игру}.', 'three_doors') },
|
||||||
}
|
}
|
||||||
three_doors = room {
|
three_doors = room {
|
||||||
nam = 'Светлая комната',
|
nam = 'Светлая комната',
|
||||||
enter = [[Джек проснулся в светлой комнате с каменными стенами. В его голове раздался голос:^^
|
enter = [[Джек проснулся в светлой комнате с каменными стенами. В его голове раздался голос:^^
|
||||||
"Сообщаю тебе, что первая загадка - это детская забава. Всего одна из табличек на дверях правдива, за двумя дверями тебя ждёт смерть. Постарайся не проиграть, пожалуйста. Мне будет обидно закончить, не успев ничего начать."]],
|
"Сообщаю тебе, что первая загадка -- это детская забава. Всего одна из табличек на дверях правдива, за двумя дверями тебя ждёт смерть. Постарайся не проиграть, пожалуйста. Мне будет обидно закончить, не успев ничего начать."]],
|
||||||
dsc = [[Светлая пустая комната с каменными стенами. Откуда идёт свет, вам непонятно.]],
|
dsc = [[Светлая пустая комната с каменными стенами. Откуда идёт свет, вам непонятно.]],
|
||||||
obj = {'door1_obj','door2_obj','door3_obj'},
|
obj = {'door1_obj','door2_obj','door3_obj'},
|
||||||
way = {vroom('Дверь 1', 'act1'),'door2_room','door3_room'}
|
way = {vroom('Дверь 1', 'act1'),'door2_room','door3_room'}
|
||||||
|
@ -56,10 +56,10 @@ act1 = room{
|
||||||
enter = function() pl.Points = pl.Points+10 end,
|
enter = function() pl.Points = pl.Points+10 end,
|
||||||
dsc = txtr(txtem([[День 3044.^^]]))..[[Сегодня на меня было совершено покушение.^^Читатель моего дневника мог подзабыть, но за всё время проведения эксперимента я столкнулся всего лишь с тремя помехами. ^^
|
dsc = txtr(txtem([[День 3044.^^]]))..[[Сегодня на меня было совершено покушение.^^Читатель моего дневника мог подзабыть, но за всё время проведения эксперимента я столкнулся всего лишь с тремя помехами. ^^
|
||||||
Первой помехой был король Песчаного королевства, который внезапно вышел из-под моего контроля и чуть не испортил мои планы в самом начале. Его королевство дорого поплатилось за этот акт непослушания, но я в конце концов простил их и даже сделал одним из Трёх. Между прочим, на его троне до сих пор сидит тот же король..хотя, это скорее не из-за моей доброты, а просто потому что он такой удобный дурак. Ладно,я отвлёкся.^^
|
Первой помехой был король Песчаного королевства, который внезапно вышел из-под моего контроля и чуть не испортил мои планы в самом начале. Его королевство дорого поплатилось за этот акт непослушания, но я в конце концов простил их и даже сделал одним из Трёх. Между прочим, на его троне до сих пор сидит тот же король..хотя, это скорее не из-за моей доброты, а просто потому что он такой удобный дурак. Ладно,я отвлёкся.^^
|
||||||
Через пять лет в Северном королевстве случился народный бунт. Люди выступали против... фактически против меня. Этот бунт заставил меня серьёзно доработать свою систему. Возможно, я должен сказать бунтовщикам спасибо - именно тогда я решил вовлечь все подвластные мне государства континента в войну, что позволило мне закрутить гайки в каждом из них. Впрочем, эти люди уже не услышат моих благодарностей. По-моему, это к лучшему.^^
|
Через пять лет в Северном королевстве случился народный бунт. Люди выступали против... фактически против меня. Этот бунт заставил меня серьёзно доработать свою систему. Возможно, я должен сказать бунтовщикам спасибо -- именно тогда я решил вовлечь все подвластные мне государства континента в войну, что позволило мне закрутить гайки в каждом из них. Впрочем, эти люди уже не услышат моих благодарностей. По-моему, это к лучшему.^^
|
||||||
И вот - теперь на меня совершено покушение. По сравнению с первыми двумя попытками мне помешать эта выглядит какой-то мелкой. Я думал, уж не стоит ли за этим идиотом кто-нибудь поумнее - но в его голове нет ничего. Хмм... Новое поколение строго проходит обряд дифференциации, а старое работает на дело войны и мира не покладая рук. Но так как появлися один человек, которого я не заметил, то может появиться и второй, и больше. ^^
|
И вот -- теперь на меня совершено покушение. По сравнению с первыми двумя попытками мне помешать эта выглядит какой-то мелкой. Я думал, уж не стоит ли за этим идиотом кто-нибудь поумнее -- но в его голове нет ничего. Хмм... Новое поколение строго проходит обряд дифференциации, а старое работает на дело войны и мира не покладая рук. Но так как появлися один человек, которого я не заметил, то может появиться и второй, и больше. ^^
|
||||||
Если совсем углубляться в паранойю, то мог появиться волшебник, равный мне по силе..который стёр все следы своего воздействия из мозгов этого олуха.^^
|
Если совсем углубляться в паранойю, то мог появиться волшебник, равный мне по силе..который стёр все следы своего воздействия из мозгов этого олуха.^^
|
||||||
Мда. Очень, очень маловероятно. В любом случае, мне стоит быть осторожнее. Возможно, в ближайшее время я уйду в один из смежных планов - а лучше, далёких планов или миров. Так я действительно буду наблюдателем, не вмешиваясь и не будучи внутри наблюдаемого континента. Следует подумать над экстренным свитком...в какие-нибудь богами забытые королевства.]],
|
Мда. Очень, очень маловероятно. В любом случае, мне стоит быть осторожнее. Возможно, в ближайшее время я уйду в один из смежных планов -- а лучше, далёких планов или миров. Так я действительно буду наблюдателем, не вмешиваясь и не будучи внутри наблюдаемого континента. Следует подумать над экстренным свитком...в какие-нибудь богами забытые королевства.]],
|
||||||
obj = {vway('дальше','{Продолжить игру}','falling')},
|
obj = {vway('дальше','{Продолжить игру}','falling')},
|
||||||
}
|
}
|
||||||
falling = room{
|
falling = room{
|
||||||
|
@ -89,10 +89,10 @@ falling = room{
|
||||||
end,
|
end,
|
||||||
life = function()
|
life = function()
|
||||||
falling.steps=falling.steps+1;
|
falling.steps=falling.steps+1;
|
||||||
if (falling.steps == 0) then return 'Над вами - только звёзды. Они быстро удаляются.';
|
if (falling.steps == 0) then return 'Над вами -- только звёзды. Они быстро удаляются.';
|
||||||
elseif (falling.steps==1) then return 'Вы различаете крыши домов внизу.';
|
elseif (falling.steps==1) then return 'Вы различаете крыши домов внизу.';
|
||||||
elseif (falling.steps == 2) then return 'Вы пролетаете мимо орла.';
|
elseif (falling.steps == 2) then return 'Вы пролетаете мимо орла.';
|
||||||
elseif (falling.steps == 3) then return 'Вы видите транспаранты и плакаты на стенах города: "Песчаное королевство - наш друг и помощник в борьбе против эльфийской дряни!", "Поднимем знамя Войны за дело Мира!", "Сагиттир - наместник Звёздных Королей!"';
|
elseif (falling.steps == 3) then return 'Вы видите транспаранты и плакаты на стенах города: "Песчаное королевство -- наш друг и помощник в борьбе против эльфийской дряни!", "Поднимем знамя Войны за дело Мира!", "Сагиттир -- наместник Звёздных Королей!"';
|
||||||
elseif (falling.steps == 4) then return 'Вы можете увидеть людей, идущих по улицам.';
|
elseif (falling.steps == 4) then return 'Вы можете увидеть людей, идущих по улицам.';
|
||||||
elseif (falling.steps > 4) then
|
elseif (falling.steps > 4) then
|
||||||
ACTION_TEXT = nil;
|
ACTION_TEXT = nil;
|
||||||
|
@ -125,13 +125,13 @@ square = room{
|
||||||
nam = 'Площадь им. Звёздных королей',
|
nam = 'Площадь им. Звёздных королей',
|
||||||
enter = function(from, to)
|
enter = function(from, to)
|
||||||
if (from == 'landing') then return [[
|
if (from == 'landing') then return [[
|
||||||
- "Не буду тянуть кота за хвост, твоя задача проста. Ты находишься в Звёздных Лесах, город Руйцикон. Твоя задача - найти Эндрю Октанта. Хотя бы просто выяснить, где он может быть. Действуй.]]
|
-- "Не буду тянуть кота за хвост, твоя задача проста. Ты находишься в Звёздных Лесах, город Руйцикон. Твоя задача -- найти Эндрю Октанта. Хотя бы просто выяснить, где он может быть. Действуй.]]
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
--http://venividi.ru/files/img/4224/4.jpg
|
--http://venividi.ru/files/img/4224/4.jpg
|
||||||
dsc = [[Джек стоит на вымощенной брусчаткой площади. Площадь имеет форму треугольника, из углов которого выходит по улице. "Стороны" этого треугольника образованы очень плотно стоящими двухэтажными деревянными домиками, расписанными в разные цвета.^^
|
dsc = [[Джек стоит на вымощенной брусчаткой площади. Площадь имеет форму треугольника, из углов которого выходит по улице. "Стороны" этого треугольника образованы очень плотно стоящими двухэтажными деревянными домиками, расписанными в разные цвета.^^
|
||||||
Небо закрыто тёмными облаками, в которых не видно солнца.]],
|
Небо закрыто тёмными облаками, в которых не видно солнца.]],
|
||||||
obj = {'fountain'},
|
obj = {'fountain','citizen'},
|
||||||
way = {'chaos_st','ink_st','plain_st'}
|
way = {'chaos_st','ink_st','plain_st'}
|
||||||
}
|
}
|
||||||
chaos_st = room{
|
chaos_st = room{
|
||||||
|
@ -145,7 +145,7 @@ ink_st = room{
|
||||||
enter = function()
|
enter = function()
|
||||||
if (ink_st._visited) then return '' end
|
if (ink_st._visited) then return '' end
|
||||||
ink_st._visited = true;
|
ink_st._visited = true;
|
||||||
return 'Джек смотрит на облетевшие деревья по краям улицы. Редкий сильный ветер гоняет одинокие жёлтые листья. "А ведь уже зима" - грустнеет Джек.';
|
return "Джек смотрит на облетевшие деревья по краям улицы. Редкий сильный ветер гоняет одинокие жёлтые листья. ,,А ведь уже зима'' -- грустнеет Джек.";
|
||||||
end,
|
end,
|
||||||
dsc = [[Джек входит в узкую короткую улочку. На одном из домов по левую руку висит табличка: "Улица Чернил, дом 3".^^
|
dsc = [[Джек входит в узкую короткую улочку. На одном из домов по левую руку висит табличка: "Улица Чернил, дом 3".^^
|
||||||
]],
|
]],
|
||||||
|
@ -171,7 +171,7 @@ corridor = room {
|
||||||
objs():add('hilly_corridor');
|
objs():add('hilly_corridor');
|
||||||
return [[На шум упавшего тела прибегает молодая тифлингша в запачканном кухонном фартуке. Она подбегает к дварфийке и наклоняется над ней.]]
|
return [[На шум упавшего тела прибегает молодая тифлингша в запачканном кухонном фартуке. Она подбегает к дварфийке и наклоняется над ней.]]
|
||||||
end;
|
end;
|
||||||
if (apprehension.outcome = 5 and corridor._steps == 5) then goto('oan_conspiracy') end;
|
if (apprehension.outcome == 5 and corridor._steps == 5) then goto('oan_conspiracy') end;
|
||||||
return;
|
return;
|
||||||
end,
|
end,
|
||||||
dsc = [[Джек заходит в узкий коридор. Прямо напротив входа идёт лестница на второй этаж. Где-то наверху слышен топот ног.]],
|
dsc = [[Джек заходит в узкий коридор. Прямо напротив входа идёт лестница на второй этаж. Где-то наверху слышен топот ног.]],
|
||||||
|
|
Loading…
Reference in a new issue