Changeset - 10b3c8a1f639
[Not reviewed]
default
0 1 0
Silverwing - 4 years ago 2020-09-02 21:04:38

Workshop improvements
1 file changed with 25 insertions and 18 deletions:
main3.lua
25
18
0 comments (0 inline, 0 general)
main3.lua
Show inline comments
 
@@ -7,6 +7,8 @@ require 'fmt'
 
require 'noinv'
 
loadmod 'cutscene'
 

	
 
std.phrase_show = false
 

	
 
global {
 
    timestamp = -30; -- Seconds
 
    widget_status = 0; -- 0 -- not done; 1 -- late; 2 -- in time
 
@@ -20,6 +22,7 @@ declare {
 
    distances = {
 
    };
 
    MINUTE = 60;
 
    STEP = 30;
 
}
 

	
 
function set_distance(sp, dp, di) 
 
@@ -184,7 +187,7 @@ stat {
 
    end;
 
    life = function(s)
 
        if not here().notime then
 
            timestamp = timestamp + 30;
 
            timestamp = timestamp + STEP;
 
        end;
 

	
 
        if here()^'guard_post' then
 
@@ -298,7 +301,7 @@ cutscene {
 
            Гремлин стоял передо мной, пытаясь отдышаться -- он с трудом догнал меня, спешащую в библиотеку. ^
 
            [cut "Ваше высочество!"]"Ваше высочество! Вы просили сообщить!" -- выпалил Виджет, после чего продолжил обильно глотать воздух -- бедняга совсем запыхался.  ^
 
            [cut "Виджет, успокойся..."]"Виджет, успокойся, отдышись и расскажи все как следует", -- медленно говорю я, пытаясь успокоить друга.^
 
            Отдышавшись он продолжает: "Асти, я могу подготовить для тебя мастерскую. [cut Завтра]Завтра, с полседьмого до девяти. Успеешь?"^
 
            Отдышавшись он продолжает: _"Асти, я могу подготовить для тебя мастерскую. [cut Завтра]Завтра, с полседьмого до девяти. Успеешь?"_^
 
            "Успею, не переживай", -- отвечаю я. Виджет убегает по своим делам, а я направляюсь дальше в библиотеку. ^
 
            [cut Продолжить]
 
            [code walk('intro4')]
 
@@ -348,11 +351,11 @@ cutscene {
 
            [cut Итак...]
 
            В 12 часов дня у меня званый обед. Если я опоздаю, папа будет очень недоволен. Мне обязательно нужно одеться, сделать макияж и уложить волосы к этому времени.^
 
            [cut Далее...]
 
            C 6:30 до 9:00 Виджет ждет меня в мастерской. Мне нужно не забыть взять свои записи.^
 
            C 6:30 до 9:00 Виджет ждет меня в мастерской. Мне нужно не забыть взять свои записи. Виджету непросто выделять для меня мастерскую. ^
 
            [cut Кроме того...]
 
            До 11:00 мне нужно успеть вернуть Таггарту ключ, иначе у него будут проблемы.^
 
            [cut И наконец...]
 
            Я обещала Уиллу принести какую-нибудь ценную безделушку.^
 
            Я обещала Уиллу принести какую-нибудь ценную безделушку, чтобы они с братом могли оплатить билеты в цирк.^
 
            [cut Продолжить]
 
            [code walk('bedroom')]
 
        ]];
 
@@ -378,13 +381,13 @@ room {
 
    obj {
 
        nam = '#fireplace';
 
        dsc = 'В стене расположен {камин}. ';
 
        act = 'Камин облицован красным кирпичом. Сейчас он не горит -- и без того жарко. Внутри лежат несколько поленьев. Мне нравится ';
 
        act = 'Камин облицован красным кирпичом. Сейчас он не горит -- и без того жарко. Внутри лежат несколько поленьев. Мне нравится смотреть на огонь долгими зимними вечерами. ';
 
    };
 
    obj {
 
        nam = '#clock';
 
        dsc = 'Над камином висят {часы}.';
 
        act = function(s)
 
            return 'Старинные! Я взяла их у мамы. Они не работали, но я починила их сама. Это был один из тех немногих случаев, когда мне позволили хоть что-то сделать своими руками! Часы показывают ' .. convert_timestamp();
 
            return 'Старинные! Я взяла их у мамы. Они не работали, но я починила их сама. Это был один из тех немногих случаев, когда мне позволили хоть что-то сделать своими руками! Часы показывают ' .. convert_timestamp(timestamp + STEP) .. '. ';
 
        end;
 
    };
 
    obj {
 
@@ -444,6 +447,8 @@ room {
 
        dsc = 'Перед зеркалом стоит {шкатулка}. ';
 
        act = function(s)
 
            if s.state == 0 then
 
                s.state = 1;
 
                take('trinket');
 
                return 'В ней хранятся мои драгоценности. Посмотрим, что отсюда можно отдать друзьям. Вот это колечко подойдет. Я забираю из шкатулки серебряное колечко. ';
 
            else
 
                return 'Мне здесь больше ничего не нужно. ';
 
@@ -601,6 +606,8 @@ room {
 
dlg {
 
    nam = 'widget_dlg';
 
    disp = 'Виджет';
 
    noinv = true;
 
    notime = true;
 
    enter = [[Зеленокожий гремлин увлеченно собирает какой-то механизм. Виджет всегда уходит с головой в свои занятия, так что приходится его отвлекать. Но он никогда не обижается на меня, так что все нормально. ]];
 
    phr = {
 
        {'Виджет! Я пришла!', 'Виджет отвлекается от своих занятий и радушно приветствует меня: "Ваше высочество! Вы взяли ваши записи?"',
 
@@ -617,6 +624,8 @@ dlg {
 
cutscene {
 
    nam = 'widgets_lesson';
 
    disp = 'Мастерская';
 
    noinv = true;
 
    notime = true;
 
    decor = function(s)
 
        local intime = timestamp < 30 * MINUTE;
 
        local duration = 120 * MINUTE;
 
@@ -624,41 +633,39 @@ cutscene {
 
        if intime then
 
            widget_status = 2;
 
            pr [[
 
                "В таком случае, ваше высочество может приступить к занятиям", -- учтиво отвечает гремлин, указывая мне на заботливо подготовленный верстак. ^
 
                [cut "Виджет! Хватит звать меня так! У меня имя есть!"]
 
                "Виджет! Хватит звать меня так! У меня имя есть!" -- уже в который раз восклицаю я, подходя к рабочему месту. ^
 
                "Тогда за работу, Асти!" -- отвечает гремлин, указывая мне на заботливо подготовленный верстак, и тут же осекся: "Простите, Ваше высочество". ^
 
                [cut "Все в порядке, Виджет"]
 
                "Все в порядке, Виджет, спасибо" -- благодарю я мастера и подхожу к рабочему месту. ^
 
            ]];
 
        else
 
            widget_status = 1;
 
            pr [[
 
                "Ваше высочество немного опоздали, но в этом нет ничего страшного! Осмелюсь попросить вас закончить в условленное время", -- гремлин приветствует  меня, как всегда учтиво. ^
 
                "Асти, ты слегка опоздала, поэтому, проследи за временем, договорились?", -- отвечает гремлин, указывая мне на заботливо подготовленный верстак, и тут же осекся: "Простите, Ваше высочество".  ^
 
                [cut "Разумеется, я закончу вовремя"]
 
                "Разумеется, я закончу вовремя", -- соглашаюсь я и подхожу к рабочему месту. ^
 
                "Разумеется, я закончу вовремя, спасибо, Виджет", -- благодарю я мастера и подхожу к рабочему месту. ^
 
            ]];
 
        end;
 

	
 
        pr [[
 
            [cut Я открываю записную книжку на нужной странице]
 
            Я открываю записную книжку на нужной странице и начинаю вспоминать, какие детали мне понадобятся. ^
 
            [cut Вырвав лист из книжки, я выписываю на него список необходимых деталей]
 
            [cut Вырвав лист из книжки]
 
            Вырвав лист из книжки, я выписываю на него список необходимых деталей и передаю его гремлину: "Собери, пожалуйста, вот это. Я все-таки хочу собрать этот счетчик".
 
            Виджет, откланявшись удаляется, а я погружаюсь в процесс. Вернувшись с коробочкой, полной разнообразных деталюшек, [cut он спрашивает]
 
            он спрашивает: "Ваше высочество точно уверены, что хотят собрать этот прибор? Если честно, я не уверен, что он будет работать". ^
 
            Виджет, откланявшись, [cut удаляется], а я погружаюсь в процесс. Вернувшись с коробочкой, полной разнообразных деталюшек, 
 
            он спрашивает: _"Асти, мне кажется оно не будет работа... [cut Ой, простите!]Ой, простите! Ваше высочество точно уверены, что хотят собрать этот прибор? Если честно, я не уверен, что он будет работать"_. ^
 
            [cut "Вы сомневаетесь в моих способностях?"]
 
            "Вы сомневаетесь в моих способностях?" -- шутливо спрашиваю я, на что Виджет совершенно серьезно отвечает: "Нет-нет, ни в коем разе! Я буду поблизости, если понадоблюсь вашему высочеству". ^
 
            [cut Махнув рукой]
 
            Махнув рукой на гремлина, никак не желающего называть меня по имени, [cut я погрузилась в работу].^
 
            [cut И я погрузилась в работу]И я погрузилась в работу.^
 
        ]];
 

	
 
        timestamp = timestamp + duration;
 
        remove(lookup('#widget', 'workshop'), 'workshop');
 
        
 
        pr '[cut Продолжить]'
 
        if intime then
 
            pr [[
 
                Я успешно собираю работающий механизм и бегу показать его Виджету. Мастер, кажется, доволен моей работой, хотя и 
 
                [cut не удерживается от скептического комментария]
 
                не удерживается от скептического комментария: "Ваше высочество отлично справились! Не представляю, как это можно использовать иначе как забавную игрушку".^
 
                не удерживается от скептического комментария: "Асти, при всем уважении -- не вижу смысла в этой штуковине. Я не понимаю, как она будет работать".^
 
                [cut Я слегка улыбаюсь]
 
                Я слегка улыбаюсь гремлину и прощаюсь с ним и другими мастерами. Виджет уходит по своим делам, а меня ждут мои.
 
            ]];
0 comments (0 inline, 0 general)