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^ Музыка: ^ Bensound (https://www.bensound.com/royalty-free-music)^ Incompetech (https://incompetech.com/)^ Purple Planet (https://www.purple-planet.com/)^ Графика: GloriaVictis, Khaelenmore Thaal]]; 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: Если вы видите это сообщение -- это баг. "; --[[ -- 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 --pl.where = lse_powerplant_control_dlg; end;