diff --git a/main3.lua b/main3.lua --- a/main3.lua +++ b/main3.lua @@ -316,7 +316,7 @@ cutscene { decor = function(s) pr [[ Я вытаскиваю из кармашка своего походного костюма [cut маленькие изящные часики]маленькие изящные часики -- подарок Виджета на мой двенадцатый день рождения. Короткая стрелка почти достигла цифры семь. ^ - [cut Пора возвращаться домой.] + [cut Пора возвращаться домой]Пора возвращаться домой.^ "Ребята, мне пора!" -- Кричу я. В ответ доносится: "До завтра, Асти!"^ [cut Я делаю несколько шагов]Я делаю несколько шагов, как вдруг замечаю сидящего неподалеку и грустно смотрящего куда-то вдаль Уилла.^ [cut "Что случилось?"]"Что случилось?" -- спрашиваю я, свалившись в траву рядом с другом. ^ @@ -337,9 +337,9 @@ cutscene { decor = function(s) pr [[ Гремлин стоял передо мной, пытаясь отдышаться -- он с трудом догнал меня, спешащую в библиотеку. ^ - [cut "Ваше высочество!"]"Ваше высочество! Вы просили сообщить!" -- выпалил Виджет, после чего продолжил обильно глотать воздух -- бедняга совсем запыхался. ^ + [cut "Ваше высочество!.."]"Ваше высочество! Вы просили сообщить!" -- выпалил Виджет, после чего продолжил обильно глотать воздух -- бедняга совсем запыхался. ^ [cut "Виджет, успокойся..."]"Виджет, успокойся, отдышись и расскажи все как следует", -- медленно говорю я, пытаясь успокоить друга.^ - Отдышавшись он продолжает: _"Асти, я могу подготовить для тебя мастерскую. [cut Завтра]Завтра, с полседьмого до девяти. Успеешь?"_^ + Отдышавшись он продолжает: _"Асти, я могу подготовить для тебя мастерскую. [cut Завтра..."_]Завтра, с полседьмого до девяти. Успеешь?"_^ "Успею, не переживай", -- отвечаю я. Виджет убегает по своим делам, а я направляюсь дальше в библиотеку. ^ [cut Продолжить] [code walk('intro4')] @@ -355,7 +355,7 @@ cutscene { decor = function(s) pr [[ [cut "Вот, держи..."]"Вот, держи. Только, пожалуйста, верни мне его завтра до 11 часов, иначе у меня будут большие проблемы", -- прошептал Таггарт, протягивая мне [cut небольшой сверточек]небольшой сверточек. В сверточке был ключ от одной из неиспользуемых кладовых дворца. Там я устроила [cut алхимическую лабораторию]алхимическую лабораторию для себя. Если родители прознают про нее, мне конец -- родители запрещают мне заниматься алхимией.^ - "Да, как и всегда. Спасибо, Таггарт", -- отвечаю я, [cut пряча сверток в карман куртки]пряча сверток в карман куртки, -- "Ладно, я побегу, до новых встреч", -- прощаюсь я и убегаю.^ + "Да, как и всегда. Спасибо, Таггарт", -- отвечаю я, [cut пряча сверток в карман куртки]пряча сверток в карман куртки. "Ладно, я побегу, до новых встреч", -- прощаюсь я и убегаю.^ [cut Продолжить] [code walk('intro5')] ]]; @@ -371,7 +371,7 @@ cutscene { decor = function(s) pr [[ Я вхожу в кабинет отца. Он молча указывает на кресло, стоящее в углу, рядом с камином. Я сажусь и [cut жду]жду. ^ - Через несколько минут он встает напротив меня и начинает, как всегда многословно, [cut излагать]излагать: _"Асурья, дочь моя. Как ты знаешь, завтра у нас очень важный день, а именно -- годовщина изгнания древнего зла из славного города [cut Далагара...]Далагара..."_^ + Через несколько минут он встает напротив меня и начинает, как всегда многословно, [cut излагать]излагать: _"Асурья, дочь моя. Как ты знаешь, завтра у нас очень важный день, а именно -- годовщина изгнания древнего зла из славного города [cut Далагара..."_]Далагара..."_^ Так он продолжает довольно долго, но главное. что я уяснила -- завтра, в 12 часов мне необходимо явиться в главный обеденный зал дворца.^ [cut Продолжить] [code walk('intro6')] @@ -389,9 +389,9 @@ cutscene { [cut Итак...] В 12 часов дня у меня званый обед. Если я опоздаю, папа будет очень недоволен. Мне обязательно нужно одеться, сделать макияж и уложить волосы к этому времени.^ [cut Далее...] - Я обещала Уиллу принести какую-нибудь ценную безделушку, чтобы они с братом могли оплатить билеты в цирк. Мы собирались встретиться [cut на опушке леса]на опушке леса, дотуда я доберусь за 40 минут, от западных ворот. ^ + Я обещала Уиллу принести какую-нибудь ценную безделушку, чтобы они с братом могли оплатить билеты в цирк. Мы собирались встретиться [cut на опушке леса]на опушке леса. От западных ворот я доберусь туда за 40 минут.^ [cut Кроме того...] - C 6:30 до 9:00 Виджет ждет меня в мастерской. Мне нужно не забыть взять свои записи. Виджету непросто выделять для меня мастерскую, [cut поэтому]поэтому лучше сильно не опаздывать. И заниматься менее получаса не имеет смысла, так что если я все же не буду успевать, то после 9:30 появляться бесполезно. ^ + C 6:30 до 9:00 Виджет ждет меня в мастерской. Мне нужно не забыть взять свои записи. Виджету непросто выделять для меня мастерскую, [cut поэтому]поэтому лучше сильно не опаздывать. И заниматься менее получаса не имеет смысла, так что приходить после 8:30 нет смысла. ^ [cut И наконец...] До 11:00 мне нужно успеть вернуть Таггарту ключ, иначе у него будут проблемы.^ [cut Продолжить] @@ -410,7 +410,7 @@ obj { nam = 'notebook'; disp = 'Записная книжка'; dsc = 'Из-под кровати торчит уголок {блокнота}. '; - tak = 'Я подбираю блокнот. Хорошо, что слуги его не забрали ночью. '; + tak = 'Я подбираю блокнот. Хорошо, что слуги не забрали его ночью. '; inv = 'Здесь я держу заметки по поводу различных механизмов придуманных мной, или показанных мне Флинном и Виджетом. '; }:disable(); @@ -500,7 +500,7 @@ room { if have('clothes_dress') then makeup = 1; timestamp = timestamp + 30 * MINUTE; - return 'Я по-быстрому привожу в порядок свои волосы и лицо. Теперь я выгляжу достаточно "прилично" по меркам двора. '; + return 'Я привожу в порядок свои волосы и лицо. Теперь я выгляжу достаточно "прилично" по меркам двора. '; else return 'Сперва надо одеться как подобает. '; end; @@ -519,7 +519,7 @@ room { take('trinket'); return 'В ней хранятся мои драгоценности. Посмотрим, что отсюда можно отдать друзьям. Вот это колечко подойдет. Я забираю из шкатулки серебряное колечко. '; else - return 'Мне здесь больше ничего не нужно. '; + return 'Мне некогда перебирать безделушки. '; end; end; }; @@ -544,7 +544,7 @@ dlg { walkout(); return 'Я переодеваюсь. '; end}; - {cond=function(s) return not have('clothes_mech') end, 'Рабочую одежду механика. В ней удобно работать в мастерской. ', function(s) + {cond=function(s) return not have('clothes_mech') end, 'Робу механика. В ней удобно работать в мастерской. ', function(s) remove('clothes_dress', me()); remove('clothes_travel', me()); take('clothes_mech'); @@ -567,7 +567,11 @@ dlg { makeup = 0; return 'Пока переодевалась, я испортила прическу и макияж. Придется делать все заново. '; else - return 'Я переодеваюсь. Кажется, в одном из карманов что-то есть. '; + if _'clothes_travel'.state == 0 then + return 'Я переодеваюсь. Кажется, в одном из карманов что-то есть. '; + else + return 'Я переодеваюсь. '; + end; end; end}; {cond=function(s) return have('clothes_dress') or have('clothes_mech') or have('clothes_travel') end, 'Не переодеваться', function(s) @@ -587,7 +591,7 @@ obj { state = 0; nam = 'clothes_mech'; disp = 'Костюм механика'; - inv = 'Удобный и очень практичный костюм. Сшит из грубой, плотной ткани, очень прочной, на заказ специально для меня и сидит как влитой. А сколько же в нем карманов, не счесть! Обожаю карманы. В них можно носить всякие вещицы вроде блокнотов, карандашей, отверточек или деталюшек -- никогда не знаешь, когда они пригодятся.'; + inv = 'Удобный и очень практичный костюм из грубой, плотной и очень прочной ткани на заказ. Сшит специально для меня и сидит как влитой. А сколько же в нем карманов, не счесть! Обожаю карманы. В них можно носить всякие вещицы вроде блокнотов, карандашей, отверточек или деталюшек -- никогда не знаешь, для чего они пригодятся.'; } obj { @@ -613,7 +617,8 @@ room { return false; end; if have('clothes_travel', me()) then - pr 'В этой оджеде здесь лучше не появляться. Многие механики меня знают в лицо. Кто-нибудь может проболтаться моим родителям про этот костюм и тогда у меня будут проблемы.'; + pr 'В этой одежде здесь лучше не появляться. Многие механики меня знают в лицо. Кто-нибудь может проболтаться моим родителям про этот костюм и тогда у меня будут проблемы.'; + return false; end; if not have('clothes_travel', me()) and not have('clothes_mech', me()) then pr 'Не пойду я никуда пока не оденусь!'; @@ -653,7 +658,7 @@ room { obj { nam = '#machinery'; dsc = 'В зале установлено несколько {станков}.'; - act = 'Виджет не разрешает мне на них работать. Говорит, что это опасно и я могу пораниться. '; + act = 'Виджет не разрешает мне на них работать. Говорит, что это опасно, и я могу пораниться. '; }; } @@ -662,7 +667,7 @@ dlg { disp = 'Виджет'; noinv = true; notime = true; - enter = [[Зеленокожий гремлин увлеченно собирает какой-то механизм. Виджет всегда уходит с головой в свои занятия, так что приходится его отвлекать. Но он никогда не обижается на меня, так что все нормально. ]]; + enter = [[Гремлин увлеченно собирает какой-то механизм. Виджет всегда уходит с головой в свои занятия, так что приходится его отвлекать. Но он никогда не обижается на меня, так что все нормально. ]]; phr = { {'Виджет! Я пришла!', function(s) if timestamp >= 150 * MINUTE then @@ -676,7 +681,7 @@ dlg { remove('notebook', me()); walk('widgets_lesson'); end}; - {'[Уйти] Забыла... И я не смогу без них ничего сделать. ', function(s) walkout(); end}; + {'[Уйти] Забыла... И я не смогу без них ничего сделать.', function(s) walkout(); end}; }; {'[Уйти]', function(s) walkout(); end}; }; @@ -688,32 +693,36 @@ cutscene { noinv = true; notime = true; decor = function(s) - local intime = timestamp < 30 * MINUTE; + local intime = timestamp < 60 * MINUTE; local duration = 120 * MINUTE; + if timestamp < 30 * MINUTE then + timestamp = 30 * MINUTE; + end; + if intime then widget_status = 2; pr [[ "Тогда за работу, Асти!" -- отвечает гремлин, указывая мне на заботливо подготовленный верстак, и тут же осекся: "Простите, Ваше высочество". ^ - [cut "Все в порядке, Виджет"] + [cut "Все в порядке, Виджет..."] "Все в порядке, Виджет, спасибо" -- благодарю я мастера и подхожу к рабочему месту. ^ ]]; else widget_status = 1; pr [[ "Асти, ты слегка опоздала, поэтому, проследи за временем, договорились?", -- отвечает гремлин, указывая мне на заботливо подготовленный верстак, и тут же осекся: "Простите, Ваше высочество". ^ - [cut "Разумеется, я закончу вовремя"] + [cut "Разумеется, я закончу вовремя..."] "Разумеется, я закончу вовремя, спасибо, Виджет", -- благодарю я мастера и подхожу к рабочему месту. ^ ]]; end; pr [[ - [cut Я открываю записную книжку на нужной странице] + [cut Я открываю записную книжку] Я открываю записную книжку на нужной странице и начинаю вспоминать, какие детали мне понадобятся. ^ [cut Вырвав лист из книжки] Вырвав лист из книжки, я выписываю на него список необходимых деталей и передаю его гремлину: "Собери, пожалуйста, вот это. Я все-таки хочу собрать этот счетчик". Виджет, откланявшись, [cut удаляется]удаляется, а я погружаюсь в процесс. Вернувшись с коробочкой, полной разнообразных деталюшек, - он спрашивает: _"Асти, мне кажется оно не будет работа... [cut Ой, простите!]Ой, простите! Ваше высочество точно уверены, что хотят собрать этот прибор? Если честно, я не уверен, что он будет работать"_. ^ + он спрашивает: _"Асти, мне кажется оно не будет работа... [cut Ой, простите!.."_]Ой, простите! Ваше высочество точно уверены, что хотят собрать этот прибор? Если честно, я не уверен, что он будет работать"_. ^ [cut "Вы сомневаетесь в моих способностях?"] "Ты сомневаешься в моих способностях?" -- шутливо спрашиваю я, на что Виджет совершенно серьезно отвечает: "Нет-нет, ни в коем разе! Я буду поблизости, если понадоблюсь вашему высочеству". ^ [cut И я погрузилась в работу]И я погрузилась в работу.^ @@ -756,9 +765,11 @@ room { end; if have('clothes_mech', me()) then pr 'Увы, но приходить на обед придется именно в праздничном платье и никак иначе. '; + return false; end; if makeup == 0 then pr 'Появляться на обеде с неуложенными волосами и ненакрашенным лицом будет по меньшей мере опрометчиво. '; + return false; end; if not have('clothes_dress', me()) and not have('clothes_mech', me()) then pr 'Не пойду я никуда пока не оденусь!'; @@ -814,7 +825,7 @@ room { disp = 'Сторожевой пост'; onenter = function(s) if have('clothes_dress', me()) or have('clothes_mech', me()) then - pr 'Я не хочу чтобы меня там видели. У меня есть походная одежда, в которой меня не узнать, лучше одеться в нее. '; + pr 'Я не хочу, чтобы меня там видели. У меня есть походная одежда, в которой меня не узнать, лучше одеться в нее. '; return false; end; if not have('clothes_travel') then @@ -836,7 +847,7 @@ room { walkin('taggart_dlg'); end; end; - dsc = 'Сторожевой пост у склада. Попасть на склад можно только через это место. '; + dsc = 'Сторожевой пост у главной кладовой. Попасть туда можно только через него. '; way = { ppath {'В спальню', 'guard_post', 'bedroom'}; ppath {'В мастерскую', 'guard_post', 'workshop'}; @@ -884,7 +895,7 @@ dlg { disp = 'Таггарт'; noinv = true; notime = true; - enter = [[Таггарт чуть старше меня и он мой хороший друг. Увидев меня, он подходит и спрашивает тихо: "Асти? Ты принесла?"]]; + enter = [[Таггарт чуть старше меня, и он мой хороший друг. Увидев меня, он подходит и спрашивает тихо: "Асти? Ты принесла?"]]; phr = { {cond=function(s) return have('key'); end, "[Отдать ключ] Да, конечно. ", function(s) taggart_status = 1; @@ -905,7 +916,7 @@ room { dsc = 'Западные ворота дворца. Через них мне проще всего будет добраться до места встречи с Фредом и Уиллом. '; onenter = function(s) if have('clothes_dress', me()) or have('clothes_mech', me()) then - pr 'Я не хочу чтобы меня там видели. У меня есть походная одежда, в которой меня не узнать, лучше одеться в нее. '; + pr 'Я не хочу, чтобы меня там видели. У меня есть походная одежда, в которой меня не узнать, лучше одеться в нее. '; return false; end; if not have('clothes_travel') then @@ -929,7 +940,7 @@ room { obj { nam = '#gate'; dsc = '{Ворота} открыты. '; - act = 'Здесь постоянно ходят слуги, так что я могу пройти незамеченной. '; + act = 'Здесь постоянно ходят слуги, так что на меня никто не обратит внимания. '; }; obj { nam = '#servants'; @@ -990,7 +1001,7 @@ room { obj { nam = '#grass'; dsc = '{Трава} здесь совершенно вытоптана. '; - act = 'Большая ровная площадка хорошо подходит для активных игр, столь любимых городскими мальчишками. Я тоже непрочь порезвиться с ними. Может силы у меня не так много, зато бегаю я быстрее многих здесь! '; + act = 'Большая ровная площадка хорошо подходит для активных игр, столь любимых городскими мальчишками. Я тоже непрочь порезвиться с ними. Может силы у меня не так много, зато бегаю я быстрее многих! '; }; obj { nam = '#boys'; @@ -999,7 +1010,7 @@ room { }; obj { nam = '#thoughts'; - act = 'Я бы уже давно собрала свою счетную машинку!'; + act = 'Давно бы уже собрала свою счетную машинку!'; }; obj { nam = '#fred_and_will'; @@ -1034,9 +1045,9 @@ dlg { {'Что увидели?', function(s) if s.state == 0 then s.state = 1; - return 'Фред отвлекается от процесса и смотрит на меня: "Привет, Асти! Тут жук! Красивый! Смотри!" -- Он показывает пальцем в траву.^ Я смотрю и вижу переливающегося зеленого жука. Кажется я читала, что он называется "золотистая бронзовка". Действительно, очень красивый.'; + return 'Фред отвлекается от процесса и смотрит на меня: "Привет, Асти! Тут жук! Красивый! Смотри!" -- Он показывает пальцем в траву. ^ Я смотрю и вижу переливающегося зеленого жука. Я читала, что он называется "золотистая бронзовка", но до этого видела его только на картинках. Действительно, очень красивый.'; else - return 'Фред отвлекается от процесса и смотрит на меня: "Тут жук! Красивый! Смотри!" -- Он показывает пальцем в траву^ Я смотрю и вижу переливающегося зеленого жука. Кажется я читала, что он называется "золотистая бронзовка". Действительно, очень красивый.'; + return 'Фред отвлекается от процесса и смотрит на меня: "Тут жук! Красивый! Смотри!" -- Он показывает пальцем в траву. ^ Я смотрю и вижу переливающегося зеленого жука. Я читала, что он называется "золотистая бронзовка", но до этого видела его только на картинках. Действительно, очень красивый.'; end; end}; {cond=function(s) return have('trinket') end, '[Отдать колечко] Я принесла то, что обещала.', function(s)