Files @ a9fd00a53699
Branch filter:

Location: games/Awakening/startup.lua - annotation

Silverwing
Navigation error
c58efd4092be
c58efd4092be
c58efd4092be
9a8e42bc1462
c58efd4092be
c58efd4092be
f33a4965f21b
c58efd4092be
c58efd4092be
f33a4965f21b
c58efd4092be
f33a4965f21b
f33a4965f21b
c58efd4092be
3913724d53f8
f33a4965f21b
f33a4965f21b
c58efd4092be
f33a4965f21b
f33a4965f21b
f33a4965f21b
c58efd4092be
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
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
7fdb3a425639
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
e3361876e54e
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
5e029dd6eff1
5e029dd6eff1
5e029dd6eff1
c58efd4092be
a3dd059ffe4d
34b6d200e1da
e53088f89ff4
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
737c5cff840f
77a42cebed10
8b0dffa0d3f6
737c5cff840f
e53088f89ff4
34b6d200e1da
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
90266e891072
dbda9dd3c285
90266e891072
90266e891072
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
93e848bb964c
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
112b38b593c0
112b38b593c0
112b38b593c0
c58efd4092be
c58efd4092be
7b031c50917a
7b031c50917a
7b031c50917a
7b031c50917a
7b031c50917a
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
6c96d2c967ff
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;

    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; -- Дополнительная помощь, оказанная Светловой в исследовании навьяров --увеличивается, если показать ей КНО и скипетр
};

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

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


player_drake = player {
    var {
        hp = 10;
        has_light = false;
        party = {};
        companion = nil;
        money = 200;
    };
    nam = "player";
    disp = "Дэвид Дрейк";
    disp2 = "Дрейка";
    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 = "Вступление";
    dsc = [[Пароход "Северное сияние" причаливает в порту Лондона. Всего неделю назад вы нашли в доме, где жили вместе со своей матерью тайник, оставленный бесследно исчезнувшим отцом -- Уильямом Дрейком, владельцем транспортной компании "Вестхейвен Трансоушен". ^Сейчас у вас на руках есть лишь небольшая сумма, заблаговременно снятая со счета, да кипа старых бумаг, которая, быть может, позволит выяснить, что случилось с пропавшим Уильямом. ]];
    way = {
        kh_vroom("Информация", 'intro_info');
        kh_vroom("Начать игру", 'aurora_borealis');
    }
};

intro_info = room {
    nam = "intro";
    hideinv = true;
    disp = "Информация";
    dsc = [[
    Спасибо, что играете в Пробуждение. Ждем ваших отзывов на inbox@silverwing.one и https://forum.silverwing.one.^
    Автор игры: Khaelenmore Thaal^
    Музыка: ^
        <x:10%>Bensound (https://www.bensound.com/royalty-free-music)^
        <x:10%>Incompetech (https://incompetech.com/)^
        <x:10%>Purple Planet (https://www.purple-planet.com/)]];
    way = {
        kh_vroom("Вступление", 'intro');
        kh_vroom("Начать игру", 'aurora_borealis');
    }
};

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

game_act_phrases = {
    "Вы не знаете, что с этим делать. ";
    "Вам нет смысла это трогать. ";
    "Вам это ничем не поможет. ";
    "Это бессмысленно. ";
    "Незачем это трогать. ";
};

game_use_phrases = {
    "Вам это ничем не поможет. ";
    "Это бессмысленно. ";
    "Вы не знаете, как это сделать. "
};

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 = "INV: Если вы видите это сообщение -- это баг. ";

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_iyh_shockfish_dead 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;
    else
        prefs.language = language;
    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;
    ---game init
    pl.where = intro;
    ---debug
end;