Files @ 4a75e7cf1f55
Branch filter:

Location: games/Awakening/startup.lua - annotation

Silverwing
Jack dialog fixed. Version change
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
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
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
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
726321836a6c
726321836a6c
726321836a6c
c58efd4092be
726321836a6c
c58efd4092be
726321836a6c
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
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
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
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
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
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
c58efd4092be
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;
    dypatreanotrr_found = false;
    venaedanotrr_found = false;
    nleyyslanotrr_found = false;
    iraaphaanotrr_temple_found = false;
    dypatreanotrr_temple_found = false;
    venaedanotrr_temple_found = false;
    nleyyslanotrr_temple_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 = {};
    
    --Глобальные состояния(для концовок)
    conflict_resolved = false; -- Решен ли конфликт между навьярами
    artifacts_returned = false; -- Вернили ли артефакты из храма навьярам?
    wright_state = 0; -- был взят Райт на борт или нет
    goldman_state = 0; -- 0 - Голдман не раскрыт, 1 - Голдман казнен, 2 - Голдман задержан, 3 - Голдман изгнан
    leroy_state = 0; -- 0 - Леруа не раскрыт, 1 - Леруа казнен, 2 - Леруа задержан, 3 - Леруа изгнан
    iraa_scepter = 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 = {--[["learr", "radcliffe", "phaetlarr", "wright"]]};
        companion = nil;
        money = 200;
    };
    nam = "player";
    disp = "Дэвид Дрейк";
    disp2 = "Дрейка";
    disp3 = "Дрейку";
    where = 'port';
    
    obj = {'hp_indicator', 'item_umbrella', 'item_charts', 'item_note_1', 'item_money', "item_bankbook"};
    
    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;
    disp = "Вступление";
    dsc = [[
        ВНИМАНИЕ: Это специальная предварительная версия игры. Ни один фрагмент игры не является финальным.^^
        Действие игры происходит в конце 19-го века. Вы играете за Дэвида Дрейка -- единственного сына богатого и уважаемого владельца транспортной компании "Вестхейвен Трансоушен". ^
        Несколько лет назад, когда Дэвиду было 10 лет, Уильям таинственным образом бесследно пропал. Полицейское расследование вскоре зашло в тупик и было прекращено. Через несколько месяцев компания, оставшаяся без своего владельца, обанкротилась, ее имущество распродается. ^
        После исчезновения отца Дэвид жил в Вашингтоне с бабушкой. Он пошел по стопам отца и выучился на инженера-кораблестроителя. Несколько дней назад в доме, где он жил, был обнаружен тайник, хранящий секретные документы отца -- карты, указывающие, по-видимому, на какие-то тайники Уильяма и записка с адресом и именем.^
        Одержимый идеей узнать больше, Дэвид отправляется в Лондон...
    ]];
    obj = {
        vway("Начать игру", "{Начать игру}", '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: Если вы видите это сообщение -- это баг. ";

preview_unavailable_learr = game_over("preview_unavailable_learr", [[Спасти Леарр у обитателей Атлантиды не получилось. Гибель навьярессы поставила под угрозу многое, чего удалось добиться персоналу станции за долгие годы под водой. ^^Узнать, что произошло дальше, вы сможете в полной версии игры.^^Вы можете загрузить игру и попробовать спасти Леарр самостоятельно. ^^Мы ждем ваших отзывов на почту: inbox@silverwing.one^Следите за выходом новых версий на нашем сайте: awakening.silverwing.one]]);

preview_unavailable_rayfish = game_over("preview_unavailable_rayfish", [[Убив ската, вы восстанавливаете против себя всех навьяров из Дипатреанотра и Ираафаанотра. В ваших дальнейших поисках вам придется расчитывать только на себя.^^Узнать, что произошло дальше, вы сможете в полной версии игры.^^Вы можете загрузить игру и попробовать обойтись без убийства ската. ^^Мы ждем ваших отзывов на почту: inbox@silverwing.one^Следите за выходом новых версий на нашем сайте: awakening.silverwing.one]]);

preview_unavailable_venaedanotrr = cutscene("preview_unavailable_venaedanotrr", "Предварительная версия", [[Левиафан полным ходом несется вдаль, к невиданным доселе навьярским поселениям. Кто знает, какие приключения ждут вас и остальных членов экипажа субмарины?^^Узнать, что произошло дальше, вы сможете в полной версии игры. Если вы не собрали оба фрагмента карты, то вы можете продолжить игру. ^^Мы ждем ваших отзывов на почту: inbox@silverwing.one^Следите за выходом новых версий на нашем сайте: awakening.silverwing.one]], "leviathan_wheelhouse");

preview_unavailable_dypatreanotrr = cutscene("preview_unavailable_dypatreanotrr", "Предварительная версия", [[Вы входите в пещеру в поисках очередного фрагмента карты. Какие испытания предстоит вам преодолеть, прежде, чем вы найдете его? Вы узнаете это в полной версии игры. Если вы не собрали оба фрагмента карты, то вы можете продолжить игру. ^^Мы ждем ваших отзывов на почту: inbox@silverwing.one^Следите за выходом новых версий на нашем сайте: awakening.silverwing.one]], "dyp_temple_cave_entrance");

function init()
    ---modules init
    pl = player_drake;
    atlantis_init();
    leviathan_init();
    warehouse18_init();
    warehouse32_init();
    
    local nums = {1,2,3,4,5,6};
    for i = 1, 4 do 
        local index = rnd(#nums);
        table.insert(dt_code, nums[index]);
        table.remove(nums, index);
    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
    
    --pl.where = "item_book_dlg";
    --pl.where = "dyp_obelisk_puzzle";
    --language_known = true;
    --put("item_toolbox", pl);
    --put("item_electric_lamp", pl);
    --put("item_dynamo", pl);
    --put("item_toolbox", pl);
    --put("item_cogs", pl);
    --put("item_ducttape", pl);
    --put("item_electrodes", pl);
    --pl.where = dock_2;
    --pl.where = warehouse_32;
    --put(item_lamp, pl);
    --language_known = true;
    --pl.where = "leviathan_airlock";
    --move(submarine_leviathan, "iyh_rear_entrance_foot");
    --put(item_suit, pl);
    --put(item_suit, pl);

    --pl.where = "atlantis_intro_dock";

    ---leviathan
    --submarine_leviathan.airpump = false;
    --[[
    leviathan_airlock.has_light = true;
    leviathan_wardroom.has_light = true;
    leviathan_wheelhouse.has_light = true;
    leviathan_corridor.has_light = true;
    leviathan_cabin_1.has_light = true;
    leviathan_cabin_2.has_light = true;
    leviathan_cabin_3.has_light = true;
    leviathan_cabin_4.has_light = true;
    leviathan_cabin_5.has_light = true;
    leviathan_captains_cabin.has_light = true;
    leviathan_cargo_hold.has_light = true;
    leviathan_engines.has_light = true;
    leviathan_lower_deck.has_light = true;
    leviathan_life_support.has_light = true;
    submarine_leviathan.air_level = 432000;
    submarine_leviathan.battery = true; 
    submarine_leviathan.battery_charge = 100;
    submarine_leviathan.circuit_breaks = 0;
    submarine_leviathan.valves_to_replace = 0;
    submarine_leviathan.power_on = true
    pl.party = {'wright', 'learr'};
    char_learr.follow = true;
    atlantis_found = true;--]]
    --take(item_colt);
    --take(item_harpoon);
   -- checkers_game:reset();
    --pl.where = "checkers_game";
    --- iraaphaanotrr
   --move(submarine_leviathan, "iraa_temple_entrance");
    --[[
    ---IYH
    lifeon(char_learr);
    lifeon(char_wright);
    lifeon(char_radcliffe);
    lifeon(char_anna);
    lifeon(char_aikerjarr_lev);
    pl.party = {'learr', 'wright', 'radcliffe', 'anna'};
    atlantis_found = true;
    move(submarine_leviathan, "ctt_dyp_temple_entrance");
    --move(submarine_leviathan, "iyh_far_from_entrance_foot");
    pl.where = leviathan_wheelhouse;
    submarine_leviathan.battery = true; -- Состояние батареи 
    submarine_leviathan.battery_charge = 100; -- Уровень заряда батареи
    submarine_leviathan.circuit_breaks = 0; -- Разрывы цепи
    submarine_leviathan.valves_to_replace = 0; -- Количество клапанов, которые нужно заменить для полноценной работы
    submarine_leviathan.power_on = true; -- включена ли энергия
    submarine_leviathan.air_level = 432000; -- запас воздуха. Максимум - 5 дней(5 * 24 * 60 * 60 = 432000)
    submarine_leviathan.airpump = false;
    leviathan_airlock.has_light = true;
    leviathan_wardroom.has_light = true;
    leviathan_wheelhouse.has_light = true;
    leviathan_corridor.has_light = true;
    leviathan_cabin_1.has_light = true;
    leviathan_cabin_2.has_light = true;
    leviathan_cabin_3.has_light = true;
    leviathan_cabin_4.has_light = true;
    leviathan_cabin_5.has_light = true;
    leviathan_captains_cabin.has_light = true;
    leviathan_cargo_hold.has_light = true;
    leviathan_engines.has_light = true;
    leviathan_lower_deck.has_light = true;
    leviathan_life_support.has_light = true;
    --]]
    
    --- Chapter 1: Atlantis
    --[[submarine_leviathan.battery = true; -- Состояние батареи 
    submarine_leviathan.battery_charge = 100; -- Уровень заряда батареи
    submarine_leviathan.circuit_breaks = 0; -- Разрывы цепи
    submarine_leviathan.valves_to_replace = 0; -- Количество клапанов, которые нужно заменить для полноценной работы
    submarine_leviathan.power_on = true; -- включена ли энергия
    submarine_leviathan.air_level = 432000; -- запас воздуха. Максимум - 5 дней(5 * 24 * 60 * 60 = 432000)
    submarine_leviathan.airpump = false;
    leviathan_airlock.has_light = true;
    leviathan_wardroom.has_light = true;
    leviathan_wheelhouse.has_light = true;
    leviathan_corridor.has_light = true;
    leviathan_cabin_1.has_light = true;
    leviathan_cabin_2.has_light = true;
    leviathan_cabin_3.has_light = true;
    leviathan_cabin_4.has_light = true;
    leviathan_cabin_5.has_light = true;
    leviathan_captains_cabin.has_light = true;
    leviathan_cargo_hold.has_light = true;
    leviathan_engines.has_light = true;
    leviathan_lower_deck.has_light = true;
    leviathan_life_support.has_light = true;
    
    pl.party = {'wright'};
    put(item_toolbox, pl);
    put(item_ducttape, pl);
    pl.where = "leviathan_airlock";
    atlantis_found = true;
    move(submarine_leviathan, "atl_aqua_leviathan_dock");
    submarine_leviathan:enable();   ]]
           
    --ven_temple_l1.position = "66";   
    --put(item_ven_tablet, pl);
    --put(item_harpoon, pl);
    --put(item_colt, pl);
    --ven_shark.position = "55";
    --pl.where = "za_plaetlarr_fight";
    --pl.where = "lse_final_battle";
    --move(submarine_leviathan, "za_temple_back_entrance_foot");
    --char_anna.follow = true;
    --pl.where = "ven_chest_look";
    --move(ven_shark, "ven_temple_l1");
    
    --put(item_suit, pl);
    
    -- pl.where = warehouse_32;
    -- pl.where = w32_mgr;
    
    -- put(item_cogs, pl);
    -- put(item_pump_details, pl);
    -- put(item_electrodes, pl);
    --put(item_lamp, pl);
    -- pl.where = aurora_borealis;
    -- move(submarine_leviathan, first_city_entrance);
    -- move(submarine_leviathan, first_city_outer_east);
    -- walk(final_scene);
    -- walk(leviathan_wardroom);
    -- walk(leviathan_wardroom);
    -- put("char_learr", "leviathan_wardroom");
    -- put("char_phaetlarr", "leviathan_engines");
    -- put("char_radcliffe", "leviathan_engines");
    -- put("char_wright", "leviathan_wardroom");
    -- pl.where = leviathan_airlock;
    -- pl.where = hotel_street;
    -- pl.where = warehouse_32_entry;
    -- dock_found = true;
end;