Files @ e140623e4ca1
Branch filter:

Location: games/Awakening/startup.lua - annotation

ytimenkov
some translation
c58efd4092be
c58efd4092be
c58efd4092be
9a8e42bc1462
c58efd4092be
c58efd4092be
f33a4965f21b
c58efd4092be
c58efd4092be
f33a4965f21b
c58efd4092be
f33a4965f21b
f33a4965f21b
c58efd4092be
3913724d53f8
f33a4965f21b
f33a4965f21b
c58efd4092be
f33a4965f21b
f33a4965f21b
f33a4965f21b
c58efd4092be
f806c5f507af
f33a4965f21b
c58efd4092be
c58efd4092be
7fdb3a425639
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
f33a4965f21b
f33a4965f21b
f33a4965f21b
f33a4965f21b
785ceeaee89f
785ceeaee89f
abb2992a026e
abb2992a026e
abb2992a026e
c58efd4092be
317da5ef1835
112b38b593c0
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
6dc921af9ad3
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
483bc1d6d00a
483bc1d6d00a
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
d4177df0f20f
d4177df0f20f
d4177df0f20f
d4177df0f20f
d4177df0f20f
d4177df0f20f
d4177df0f20f
d4177df0f20f
483bc1d6d00a
483bc1d6d00a
00bae57bbaa1
00bae57bbaa1
d4177df0f20f
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
483bc1d6d00a
483bc1d6d00a
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c9e9a36eed2e
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
7fdb3a425639
2b95b962b389
c58efd4092be
c58efd4092be
c58efd4092be
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
c58efd4092be
c58efd4092be
e3361876e54e
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
00bae57bbaa1
c58efd4092be
5e029dd6eff1
5e029dd6eff1
5e029dd6eff1
00bae57bbaa1
00bae57bbaa1
34b6d200e1da
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
00bae57bbaa1
737c5cff840f
483bc1d6d00a
483bc1d6d00a
00bae57bbaa1
00bae57bbaa1
737c5cff840f
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
c58efd4092be
c58efd4092be
c58efd4092be
483bc1d6d00a
00bae57bbaa1
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
00bae57bbaa1
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
00bae57bbaa1
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
00bae57bbaa1
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
483bc1d6d00a
d4177df0f20f
d4177df0f20f
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
d4177df0f20f
d4177df0f20f
d4177df0f20f
d4177df0f20f
d4177df0f20f
c58efd4092be
c58efd4092be
c58efd4092be
d4177df0f20f
d4177df0f20f
d4177df0f20f
c58efd4092be
c58efd4092be
c58efd4092be
d4177df0f20f
c58efd4092be
c58efd4092be
c58efd4092be
d4177df0f20f
c58efd4092be
d4177df0f20f
c58efd4092be
90266e891072
dbda9dd3c285
90266e891072
90266e891072
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
810ca47e0844
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
c58efd4092be
c58efd4092be
c58efd4092be
c3933df57a0d
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
112b38b593c0
112b38b593c0
112b38b593c0
483bc1d6d00a
112b38b593c0
112b38b593c0
483bc1d6d00a
112b38b593c0
c58efd4092be
c58efd4092be
7b031c50917a
7b031c50917a
7b031c50917a
7b031c50917a
7b031c50917a
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
6c96d2c967ff
dea1cc99da1c
dea1cc99da1c
dea1cc99da1c
dea1cc99da1c
global {
    warehouse18_found = false;
    warehouse32_found = false;
    warehouse32_visited = false;
    dock_found = false;
    leviathan_discovered = false;

    atlantis_found = false;
    temple_found = false;

    iraaphaanotrr_found = false;
    iraaphaanotrr_temple_found = false;

    dypatreanotrr_found = false;
    dypatreanotrr_night_found = false;
    dypatreanotrr_temple_found = false;

    venaedanotrr_found = false;
    venaedanotrr_ravine_found = false;
    venaedanotrr_temple_found = false;

    nleyyslanotrr_found = false;
    nleyyslanotrr_visited = false;

    deep_temple_found = false;
    lseryanotrr_found = false;

    rel_phaetlarr = 0;
    rel_walter = 0;
    rel_learr = 0;
    rel_anna = 0;
    rel_jack = 0;
    language_known = false;
    cart_known = false;
    
    dt_code = {};
    dt_buttons = {};

    raybox_task = false;
    raybox_task_finished = false;

    starlight_dock_appearance = 2;

    starlight_dock_status = false;
    starlight_darkstar_status = 0;

    --Глобальные состояния(для концовок)
    mtr_outcome = 0; -- 1 - leroy accused, 2 - jones accused, 3 - failed to prove

    conflict_resolved = false; -- Решен ли конфликт между навьярами
    artifacts_returned = false; -- Вернили ли артефакты из храма навьярам?
    wright_state = 0; -- был взят Райт на борт или нет
    goldman_state = 0; -- 0 - Голдман не раскрыт, 1 - Голдман казнен, 2 - Голдман задержан, 3 - Голдман изгнан
    leroy_state = 0; -- 0 - Леруа не раскрыт, 1 - Леруа казнен, 2 - Леруа задержан, 3 - Леруа изгнан
    iraa_wand = false; -- был ли возвращен скипетр в Ираафаанотр
    iraa_map = false; -- был ли возвращен оригинал карты в Ираафаанотр
    dyp_map = false; -- Передана ли карта(оригинал или копия в Дипатреанотр)
    svetlova_help = 0; -- Дополнительная помощь, оказанная Светловой в исследовании навьяров --увеличивается, если показать ей КНО и скипетр
};

trans_startup = {
    ru = {
        ['Language: '] = 'Язык(Language): ';
        ['Language has been changed'] = 'Язык изменен';
        ['Default'] = 'По-умолчанию';
        ['{Default}'] = '{По-умолчанию}';
        ['David Drake'] = 'Дэвид Дрейк';
        ['player_drake.disp2'] = 'Дэвида Дрейка';
        ['player_drake.disp3'] = 'Дэвиду Дрейку';
        ['Introduction'] = 'Вступление';
        ['intro.dsc'] = [[Пароход "Северное сияние" причаливает в порту Лондона. Всего неделю назад вы нашли в доме, где жили вместе со своей матерью, тайник, оставленный бесследно исчезнувшим отцом -- Уильямом Дрейком, владельцем транспортной компании "Вестхейвен Трансоушен". ^Сейчас у вас на руках есть лишь небольшая сумма, заблаговременно снятая со счета, да кипа старых бумаг, которая, быть может, позволит выяснить, что случилось с пропавшим Уильямом. ]];
        ['Settings'] = 'Настройки';
        ['Start playing'] = 'Начать игру';
        ['Information'] = 'Информация';
        ['intro_info.dsc'] =  [[Спасибо, что играете в Пробуждение. Ждем ваших отзывов на inbox@silverwing.one и https://forum.silverwing.one.^
    Автор игры: Khaelenmore Thaal^
    Музыка: ^
        <x:10%>Bensound (https://www.bensound.com/royalty-free-music)^
        <x:15%>Evolution^<x:15%>Deep Blue^<x:15%>Birth of a Hero^<x:15%>Better Days^<x:15%>Sci Fi^
        <x:10%>Incompetech (https://incompetech.com/)^
        <x:15%>River of Io^
        <x:10%>Purple Planet (https://www.purple-planet.com/)^
        <x:15%>Midnight Bell^]];

        ['You don\'t know what to do with this.'] = 'Вы не знаете, что с этим делать.';
        ['You don\'t know how to do this.'] = 'Вы не знаете, как это сделать.';
        ['You don\'t have any reason to do this.'] = 'Вам нет смысла это трогать.';
        ['This will not help you.'] = 'Вам это ничем не поможет. ';
        ['This is pointless.'] = 'Это бессмысленно. ".';
        ['There is no reason to do this.'] = 'Незачем это трогать.';
        ['INV: If you see this message, it is a bug.'] = 'INV: Если вы видите это сообщение -- это баг.';
    };
    en = {
        ['player_drake.disp2'] = 'David Drake';
        ['player_drake.disp3'] = 'David Drake';
        ['intro.dsc'] = [[Steamer by the name of "Aurora Borealis" arrives to the London port. Only a week ago in a house where you were living with your mother you've found a hiding place left by your father -- William Drake, owner of Westhaven Transocean transport company, who have disappeared without a trace. ^Now you have only a handful of money withdrawn from your bank account and a pile of old papers which may hopefully help you to find out what happened with your missing father. ]];
        ['intro_info.dsc'] =  [[Thank you for playing Awakening. We are waiting for your reviews on inbox@silverwing.one and https://forum.silverwing.one.^
    Author: Khaelenmore Thaal^
    Music: ^
        <x:10%>Bensound (https://www.bensound.com/royalty-free-music)^
        <x:15%>Evolution^<x:15%>Deep Blue^<x:15%>Birth of a Hero^<x:15%>Better Days^<x:15%>Sci Fi^
        <x:10%>Incompetech (https://incompetech.com/)^
        <x:15%>River of Io^
        <x:10%>Purple Planet (https://www.purple-planet.com/)^
        <x:15%>Midnight Bell^]];
    };
}

game.enable_save = function ()
    if here().nosave then
        return false;
    end;
    return true;
end;

game.enable_autosave = function ()
    if EngineUtils.getValue(here().noautosave, here()) then
        return false;
    end;
    return true;
end;


player_drake = player {
    var {
        hp = 10;
        has_light = false;
        party = {};
        companion = false;
        money = 200;
    };
    nam = "player";
    disp = translate(trans_startup, "David Drake");
    disp2 = translate(trans_startup, "player_drake.disp2");
    disp3 = translate(trans_startup, "player_drake.disp3");
    where = 'port';
    
    obj = {'hp_indicator', 'item_charts', 'item_note_1', 'item_money'};
    
    pay = function(s, c)
        if (s.money >= c) then
            s.money = s.money - c;
            return true;
        else
            return false;
        end;
    end;
};

intro = room {
    nam = "intro";
    hideinv = true;
    entered = function(s)
        set_music('music/intro.ogg');
    end;
    disp = translate(trans_startup, 'Introduction');
    dsc = translate(trans_startup, 'intro.dsc');
    way = {
        kh_vroom(translate(trans_startup, 'Information'), 'intro_info');
        kh_vroom(translate(trans_startup, 'Settings'), 'intro_settings');
        kh_vroom(translate(trans_startup, 'Start playing'), 'aurora_borealis');
    }
};

intro_info = room {
    nam = "intro_info";
    hideinv = true;
    nosave = true;
    noautosave = true;
    disp = translate(trans_startup, 'Information');
    dsc = translate(trans_startup, 'intro_info.dsc');
    way = {
        kh_vroom(translate(trans_startup, 'Introduction'), 'intro', 'intro');
        kh_vroom(translate(trans_startup, 'Settings'), 'intro_settings', 'settings');
        kh_vroom(translate(trans_startup, 'Start playing'), 'aurora_borealis', 'start');
    }
};

intro_settings = room {
    nam = "settings";
    hideinv = true;
    nosave = true;
    noautosave = true;
    disp = translate(trans_startup, 'Settings');
    dsc = [[]];
    obj = {
        'intro_settings_lang';
    };
    way = {
        kh_vroom(translate(trans_startup, 'Introduction'), 'intro', 'intro');
        kh_vroom(translate(trans_startup, 'Information'), 'intro_info', 'intro_info');
        kh_vroom(translate(trans_startup, 'Start playing'), 'aurora_borealis', 'start');
    }
}

intro_settings_lang_default = obj {
    nam = 'intro_settings_lang_default';
    dsc = function(s)
        if language == '' then
            return translate_now(trans_startup, 'Default');
        else
            return translate_now(trans_startup, '{Default}');
        end;
    end;
    act = function(s)
        language = '';
        prefs.language = language;
        prefs:store();
        return translate_now(trans_startup, 'Language has been changed');
    end;
}

intro_settings_lang_ru = obj {
    nam = 'intro_settings_lang_ru';
    dsc = function(s)
        if language == 'ru' then
            return 'Русский';
        else
            return '{Русский}';
        end;
    end;
    act = function(s)
        language = 'ru';
        prefs.language = language;
        prefs:store();
        return 'Язык изменен';
    end;
}

intro_settings_lang_en = obj {
    nam = 'intro_settings_lang_en';
    dsc = function(s)
        if language == 'en' then
            return 'English';
        else
            return '{English}';
        end;
    end;
    act = function(s)
        language = 'en';
        prefs.language = language;
        prefs:store();
        return 'Language has been changed';
    end;

}

intro_settings_lang = obj {
    nam = "intro_settings_lang";
    dsc = translate(trans_startup, 'Language: ');
    obj = {
        intro_settings_lang_default,
        intro_settings_lang_ru,
        intro_settings_lang_en
    }
}

-- TODO Do we need to update that?
game.nam = 'Пробуждение';
game.dsc = [[
    Действие игры происходит в конце 19-го века. Вы играете за Дэвида Дрейка, сына владельца крупной транспортной компании "Вестхейвен Трансоушен". Несколько лет назад Уильям Дрейк, отец главного героя бесследно пропадает. Компания вскоре разваливается. Поиски ни к чему не приводят. Когда казалось бы уже все потеряно, в доме Дрейков находят тайник с документами Уильяма. Несколько схем строений, принадлежащих компании и клочок бумаги с адресом некоего Майкла Райта в Лондоне. Естественно, Дэвид как можно скорее отправляется в Великобританию...
    Вам предстоит отыскать подводную лодку, посетить подводную станцию, построенную Уильямом, встретить древнюю расу подводных жителей, поучаствовать в событиях, описанных древними легендами этой расы и узнать, что стало с Уильямом Дрейком.
]];

game_act_phrases = {
    translate(trans_startup, 'You don\'t know what to do with this.');
    translate(trans_startup, 'You don\'t have any reason to do this.');
    translate(trans_startup, 'This will not help you.');
    translate(trans_startup, 'This is pointless.');
    translate(trans_startup, 'There is no reason to do this.');
};

game_use_phrases = {
    translate(trans_startup, 'This will not help you.');
    translate(trans_startup, 'This is pointless.');
    translate(trans_startup, 'You don\'t know how to do this.');
};

game.act = function(s)
    return game_act_phrases[rnd(#game_act_phrases)]();
end;

game.use = function(s)
    return game_use_phrases[rnd(#game_use_phrases)]();
end;
game.inv = translate(trans_startup, 'INV: If you see this message, it is a bug.');

stead.savename = function()
    return stead.call(stead.here(), 'disp') or stead.call(stead.here(), 'nam');
end

--[[
-- This function gathers all game info and returns room name for proper ending
 ]]
function prepare_ending(nstate)
    if atl_mtr_finished_jones then
        atlantis_state = 4;
    elseif atl_rep_dyp < 0 then
        atlantis_state = 5;
    elseif iraa_wand then
        atlantis_state = 1;
    elseif iraa_map then
        atlantis_state = 2;
    elseif dyp_map then
        atlantis_state = 3;
    end;

    naethvjirr_state = nstate;

    if nstate == 1 then
        return "ending_naethvjirr_prevails_david";
    elseif nstate == 2 then
        return "ending_naethvjirr_prevails_william";
    elseif nstate == 3 or nstate == 4 then
        return "ending_naethvjirr_destroyed";
    elseif nstate == 5 then
        return "ending_naethvjirr_prevails";
    end;
end

function init()
    ---modules init
    pl = player_drake;
    --putf("debug_tool", stead.me())
    atlantis_init();
    leviathan_init();
    warehouse18_init();
    warehouse32_init();

    if prefs.language then
        language = prefs.language;
        pl.where = intro;
    else
        prefs.language = language;
        pl.where = intro_settings;
    end;
    
    local nums = {1,2,3,4,5,6};
    if #dt_code == 0 then
        for i = 1, 4 do
            local index = rnd(#nums);
            table.insert(dt_code, nums[index]);
        end;
    end;
    nums = {1,2,3,4,5,6};
    for i = 1, 3 do 
        local index = rnd(#nums);
        table.insert(dt_buttons, nums[index]);
        table.remove(nums, index);
    end;
    ---debug
end;

function start()
    leviathan_start();
end;