diff --git a/The World/.zim/state.conf b/The World/.zim/state.conf index 615679e..e870ea0 100644 --- a/The World/.zim/state.conf +++ b/The World/.zim/state.conf @@ -15,7 +15,7 @@ windowsize=[278,153] [History] current=24 history=["\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435","\u041b\u0438\u043c\u0437\u043e\u0433\u043d\u043e\u043a","\u0421\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u0435","\u0425\u0435\u043b\u044c\u0433\u0430 \u041e\u043a\u0442\u0430\u043d\u0442","\u0425\u0438\u043b\u043b\u0438","\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u041c\u043e\u0440\u0430\u0444\u0438\u0438","\u041c\u0438\u0440 \u0438\u0433\u0440\u044b","\u041b\u0438\u043c\u0437\u043e\u0433\u043d\u043e\u043a","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u042d\u043d\u0434\u0440\u044e \u041e\u043a\u0442\u0430\u043d\u0442","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0425\u0435\u043b\u044c\u0433\u0430 \u041e\u043a\u0442\u0430\u043d\u0442","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0425\u0438\u043b\u043b\u0438","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u041e\u0430\u043d \u041e\u043a\u0442\u0430\u043d\u0442","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0413\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0412\u0430\u043d\u0435\u0441\u0441\u0430 \u041e\u043a\u0442\u0430\u043d\u0442","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u042d\u043d\u0434\u0440\u044e \u041e\u043a\u0442\u0430\u043d\u0442","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0422\u0430\u043f\u0438\u0439","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0422\u0430\u043f\u0438\u0439","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u042d\u043d\u0434\u0440\u044e \u041e\u043a\u0442\u0430\u043d\u0442","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0422\u0430\u043f\u0438\u0439","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0422\u0430\u043f\u0438\u0439","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435","\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0422\u0430\u043f\u0438\u0439"] -pages={"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435_1":[57,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u041e\u0430\u043d \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0413\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u042d\u043d\u0434\u0440\u044e \u041e\u043a\u0442\u0430\u043d\u0442":[1873,null],"\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u041c\u043e\u0440\u0430\u0444\u0438\u0438":[802,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0425\u0435\u043b\u044c\u0433\u0430 \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0421\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u0435":[0,null],"\u0425\u0435\u043b\u044c\u0433\u0430 \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0422\u0430\u043f\u0438\u0439":[853,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0425\u0438\u043b\u043b\u0438":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0412\u0430\u043d\u0435\u0441\u0441\u0430 \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435 1":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435":[1521,null],"\u041c\u0438\u0440 \u0438\u0433\u0440\u044b":[3682,null],"\u041b\u0438\u043c\u0437\u043e\u0433\u043d\u043e\u043a":[0,null],"\u0425\u0438\u043b\u043b\u0438":[805,null]} +pages={"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435_1":[57,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u041e\u0430\u043d \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0413\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u042d\u043d\u0434\u0440\u044e \u041e\u043a\u0442\u0430\u043d\u0442":[1873,null],"\u041c\u0438\u0440 \u0438\u0433\u0440\u044b":[3682,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0425\u0435\u043b\u044c\u0433\u0430 \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0421\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u0435":[0,null],"\u0425\u0435\u043b\u044c\u0433\u0430 \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0422\u0430\u043f\u0438\u0439":[853,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435 1":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0412\u0430\u043d\u0435\u0441\u0441\u0430 \u041e\u043a\u0442\u0430\u043d\u0442":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435:\u0425\u0438\u043b\u043b\u0438":[0,null],"\u0422\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u0435":[1521,null],"\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u041c\u043e\u0440\u0430\u0444\u0438\u0438":[802,null],"\u041b\u0438\u043c\u0437\u043e\u0433\u043d\u043e\u043a":[0,null],"\u0425\u0438\u043b\u043b\u0438":[805,null]} [ImportPageDialog] windowsize=[500,400] @@ -35,7 +35,7 @@ show_statusbar_fullscreen=False show_toolbar=True show_toolbar_fullscreen=False sidepane_pos=200 -windowsize=[1016,717] +windowsize=[1024,721] [MovePageDialog] windowsize=[375,168] diff --git a/functions.lua b/functions.lua index ad2beaf..35d2179 100644 --- a/functions.lua +++ b/functions.lua @@ -1,6 +1,7 @@ function comment_time()--Волшебник комментирует, как быстро Джек решил загадку. return ''; end +a = rnd(9); function comment_things()--Волшебник комментирует, что собрал Джек за отведённое время. if have('compress') then return 'Да, у тебя есть лечебный компресс! Ты сделал очень нужную вещь, она тебе очень-очень понадобилась бы! Ты вообще понимаешь, откуда ты свалился? И как долго ты летел? И что ты сейчас вместе с этим компрессом чуть не превратился в лепёшку? Компресс с подорожником! Что за идиотская идея? Слушай, кончай свой цирк и давай уже думай над реальной проблемой. Отдышался? А, мне всё равно. '..txtem('Телепорт!'); elseif have('sailboat') then return 'Парусная лодка! Нет, не так: парусная лодка на высоте десяти километров! Ё-моё, ты вообще в своём уме? На что ты надеялся, когда делал это? Ну да, тебя очень сильно отнесло ветром, ты упал уже в другой части города. И что? нет, парень, так дело не пойдёт. Заново!'; @@ -9,5 +10,16 @@ function comment_things()--Волшебник комментирует, что elseif have('axe_porridge') then return 'Эм..эм..эм..топор. Нет, дай мне ещё раз это сказать: топор. Горшок. И вода. Я ещё раз хочу: топор, горшок и вода. Вопрос на засыпку: как эти три предмета могут помочь тебе? Ты хотел сварить топор? Да, получилась бы отличная каша. А когда бы ты его сварил? Когда приземлился? Ну, друг мой, вы же редкостный тупица. Включайте мозги и давайте повторим эксперимент.'; -- elseif have('') then return end; - return ''; + local reaction = { + [1] = 'Чего-то ты вообще ничего не сделал. Попробуй ещё раз.', + [2] = 'Если бы не я, ты бы уже был лепёшкой на камнях, ты знаешь это? Но я добрый. Да, я добрый. Я даю тебе ещё один шанс. И я буду тебе их давать, пока ты наконец не дотумкаешь.', + [3] = 'Ты идиот или прикидываешься? Включи мозги и прыгай ещё раз.', + [4] = 'Ты можешь думать чуть-чуть быстрее? Я уже устал ждать.', + [5] = 'Если ты и сейчас не справишься, то я подумаю, а стоит ли тебе помогать в следующий раз.', + [6] = 'Если ты не придумаешь чего-нибудь нормального, в следующий раз я могу...засмотреться и не успеть.', + [7] = 'Ты знаешь, что ты зависишь от моей воли? А ведь я могу и не успеть.', + [8] = 'У меня не настолько хорошее настроение, чтобы сидеть весь день с тобой. Давай быстрее.', + [9] = 'Ты знаешь, что ты так падаешь уже не первую неделю? Когда ты додумаешься, уже осень наступит. Соберись!', + }; + return reaction[a]; end diff --git a/main.lua b/main.lua index 22a2464..4405226 100644 --- a/main.lua +++ b/main.lua @@ -1,8 +1,8 @@ -- $Name: Жак: Начало$ +--Чтобы волшебник не менял изречений при действиях, номер выбранного изречения записывается в глобальную переменную. require "dbg"; require "para"; game.act = function() - local a = rnd(12); local reaction = { [1] = 'Нет реакции.', [2] = 'Нет ответа.', @@ -17,10 +17,9 @@ game.act = function() [11] = 'Зачем обращать внимание на такую ерунду?', [12] = 'Это ошибка в Матрице. Необходимо срочно вызвать Архитектора.', }; - return reaction[a]; + return reaction[rnd(12)]; end; game.inv = function() - local a = rnd(9); local reaction = { [1] = 'Либо я ошибся карманом, либо мне нужна какая-нибудь другая хрень.', [2] = 'Откуда у меня в кармане ЭТО?!', @@ -32,12 +31,11 @@ game.inv = function() [8] = 'Существование этого предмета у меня в кармане подвергается сомнению. Проще говоря, я не верю,что ношу его с собой.', [9] = 'Я бы скорее предпочёл иметь в кармане что-нибудь другое, но раз выбора нет...', }; - return reaction[a]; + return reaction[rnd(9)]; end; game.forcedsc = true; game.use = function() - local a = rnd(20); local reaction = { [1] = 'По-моему, оно плохо сочетается.', [2] = 'Если соединить одно с другим, по-моему, не получится ничего хорошего.', @@ -60,7 +58,7 @@ game.use = function() [19] = 'Точно нет.', [20] = 'У меня не настолько хорошее настроение.', }; - return reaction[a]; + return reaction[rnd(20)]; end; pl.Points = 0; diff --git a/objects.lua b/objects.lua index fa40427..1afd0a1 100644 --- a/objects.lua +++ b/objects.lua @@ -16,7 +16,7 @@ door3_obj = obj{ -- === Испытание 2 === cobj = function(v) v.use = function(this,that) - if (here() == end_fall) then return 'Нет, вы уже пропустили свой шанс.' end; + if (here() == end_fall) then return 'Нет, вы уже пропустили свой шанс.',false; end; return call(this, 'fuse', that); end; v.used = v.use; @@ -272,3 +272,8 @@ fountain = obj{ Фонтан не работает; вода в чаше позеленела, и от неё исходит слабый, но различимый болотный запах.]] --http://www.wizards.com/dnd/images/fp_gallery/fp1/Torm_p75.jpg } +elm_st = obj{ + nam = 'Улица Вязов', + dsc = 'В конце улицы стоит немного покосившийся указательный столб. Единственный выживший указатель на нём показывает на улицу справа: {"Улица Вязов".}', + act = 'Не стоит. Ещё заблудиться в этом городе не хватало.' +} diff --git a/rooms.lua b/rooms.lua index 02e6089..8555ed1 100644 --- a/rooms.lua +++ b/rooms.lua @@ -105,7 +105,10 @@ falling = room{ } end_fall = room{ nam = 'Земля', - enter = function() lifeoff('falling'); end, + enter = function() + a = rnd(9); + lifeoff('falling'); + end, dsc = function() return txtem("Полёт Пера.")..[[^^В самый последний момент, когда до земли остаётся несколько метров, Джек останавливает полёт и начинает плавно спускаться.Голос в голове Джека возмущается: ^^"]]..comment_things()..'"' end, obj = {vway('повтор','{Повторить?}','falling')}, } @@ -115,7 +118,7 @@ landing = room{ if have('chute') then return 'Вы совмещаете рисунки на трёх предметах и получаете рисунок: человек, из плеч которого выходят 4 длинных линии и заканчиваются в полукруге. В ту же секунду вы чувствуете, как из ваших плеч вырастают волшебные верёвки. Вы поднимаете глаза и видите над собой круглый купол. Вы медленно спускаетесь на землю.' end; end, dsc = [[Как только вы приземляетесь, просыпается знакомый голос. Вы не знаете, откуда он идёт; кажется, что отовсюду сразу.^^-]]..comment_time()..[[^^ - Ладно, я слишком многословен. Продолжаем!]]..txtem('Сон.'), + Ладно, я слишком многословен. Продолжаем! ]]..txtem('Сон.'), obj = {vway('далее','{Перейти к следующей загадке}','village')}, } square = room{ @@ -133,18 +136,25 @@ square = room{ } chaos_st = room{ nam = "Улица Хаоса", - dsc = "" + dsc = "", + way = {'square'} } ink_st = room{ nam = "Улица Чернил", _visited = false, enter = function() - if (visited) then return '' end + if (ink_st._visited) then return '' end + ink_st._visited = true; return 'Джек смотрит на облетевшие деревья по краям улицы. Редкий сильный ветер гоняет одинокие жёлтые листья. "А ведь уже зима" - грустнеет Джек.'; end, - dsc = 'Джек входит в узкую короткую улочку. На одном из домов по левую руку висит табличка: "Улица Чернил, дом 3".' + dsc = [[Джек входит в узкую короткую улочку. На одном из домов по левую руку висит табличка: "Улица Чернил, дом 3".^^ + ]], + obj = {'elm_st'}, + way = {'square'} } plain_st = room{ nam = "Плоская Улица", - dsc = 'Под ноги Джеку попадается ржавая табличка: "Плоская Улица, дом 6".' + dsc = [[Под ноги Джеку попадается ржавая табличка: "Плоская Улица, дом 6".^^ + Дома на этой улице сделаны не из дерева, как в остальной части города,а из камня.]], + way = {'square'} }