-- $Name: Пробуждение$ -- $Version: 1.0$ -- $Author: Khaelenmore Thaal$ instead_version "1.9.1" require "para" require "dash" require "quotes" require "hideinv" require "kbd" -- Код и ядро dofile "utils.lua" -- Общее dofile "items.lua" dofile "party.lua" dofile "game_over.lua"; -- Часть 1 dofile "london.lua" dofile "wright.lua" dofile "travel.lua" dofile "dock2.lua" dofile "warehouse18.lua" dofile "warehouse32.lua" -- Часть 2 dofile "leviathan.lua" dofile "atlantis.lua" dofile "atlantis_intro.lua" dofile "atlantis_ignis_on_fire.lua" dofile "navjiarr_settlement.lua" dofile "navjiarr_hostile_settlement.lua" -- Часть 3 dofile "final_scene.lua"; dofile "final_battle.lua"; dofile "first_city_inner_rim.lua" dofile "first_city_middle_rim.lua" dofile "first_city_outer_rim.lua" --TODO представить все дисплеи картинками --TODO описания локаций должны изменяться в зависимости от посещения их днем или ночью --TODO больше Flavour-textа global { warehouse18_found = false; warehouse32_found = false; dock_found = false; leviathan_discovered = false; atlantis_found = false; learr_dead = false; }; pl = player { nam = "player"; disp = "Дэвид Дрейк"; where = 'port'; hitpoints = 10; obj = {'item_umbrella', 'item_charts', 'item_note_1', 'item_money', }; -- party array. Should be empty on start party = {--[["learr", "radcliffe", "phaetlarr", "wright"]]}; companion = nil; money = 200; 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'); } }; demo_end = room { nam = "demo_end"; hideinv = true; dsc = [[ Вы встаете за штурвал "Левиафана". Уверенным движением руки вы включаете насосы. Резервуары заполняются водой и субмарина опускается вниз. Еще одним движением вы включаете двигатели. "Левиафан" плавно сдвигается с места. Через несколько часов вы выходите в открытое море. Еще раз сверившись с картой, вы направляетесь к месту, отмеченному на ней. *** Конец предварительной демонстрации *** ]]; }; 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: Если вы видите это сообщение - это баг. "; require "dbg" function init() ---modules init leviathan_init(); warehouse18_init(); warehouse32_init(); ---game init pl.where = intro; ---debug pl.where = atlantis_iof_intro; pl.where = atl_iof_air_valves; -- pl.where = warehouse_32; -- pl.where = w32_mgr; -- put(item_toolbox, pl); -- 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;