diff --git a/main.lua b/main.lua new file mode 100644 --- /dev/null +++ b/main.lua @@ -0,0 +1,147 @@ +-- $Name: Пробуждение$ +-- $Version: 1.0$ +-- $Author: Khaelenmore Thaal$ + +instead_version "1.9.1" +require "para" +require "dash" +require "quotes" +require "hideinv" +-- Общее +dofile "items.lua" +dofile "party.lua" +dofile "game_over.lua"; +-- Часть 1 +dofile "michael.lua" +dofile "coachman.lua" +dofile "shipyard2.lua" +dofile "warehouse18.lua" +dofile "warehouse32.lua" +-- Часть 2 +dofile "leviathan.lua" +dofile "atlantis.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" + +item_note_1 = obj { + nam = "note1"; + disp = "Записка"; + inv = [[Клочок бумаги с адресом: [Адрес Майкла Райта], Майкл Райт]]; +}; + +item_documents = obj { + nam = "documents"; + disp = "Документы отца"; + dsc = [[ + На столе лежат {схемы складов и верфей} Вест-Хэйвен Транс-Оушен + ]]; + inv = [[ + Схемы нескольких строений, принадлежавших компании отца. На некоторых схемах есть места отмечены жирными крестиками. + Схемы с крестиками обозначены как склад 18, верфь 2, склад 32 + ]]; + use = function(s, o) + if (o == char_michael) then + remove(s, pl); + put(s, item_michael_table); + char_michael.documents = true; + return [[ + Вы отдаете бумаги Майклу. Он кладет их на стол и принимается изучать. + ]]; + end; + end; + tak = function() + char_michael.documents = false; + return "Вы забираете бумаги"; + end; +}; + +item_umbrella = obj { + nam = "umbrella"; + disp = "Зонт"; + inv = [[Совершенно новый зонт производства "Винсент и сыновья". ]]; +}; + +item_toolbox = obj { + nam = "toolbox"; + disp = "Ящик с инструментами"; + dsc = [[ + Вы видите {ящик} со всевозможными полезными и не очень инструментами - отвертками, ключами, молотками и т.д.^ + ]]; +}; + +pl = player { + nam = "player"; + disp = "Дэвид Дрейк"; + where = 'port'; + hitpoints = 10; + obj = {'item_umbrella', "item_documents", "item_note_1", "item_first_city_key", "item_colt", "item_pipe"}; + -- party flags. Should be false on start + party = {"learr", "radcliffe", "phaetlarr", "wright"}; +}; + +hotel = room { + nam = "hotel"; + disp = "Гостиница"; + enter = function(s) + move(char_coachman, here()); + end; + dsc = [[ + Вы находитесь в холле гостиницы + ]]; +}; + +port = room { + nam = "port"; + disp = "Порт"; + enter = function(s) + move(char_coachman, here()); + end; + dsc = [[ + Вы находитесь в порту. Небо покрыто тяжелыми тучами - вот-вот начнется дождь. + Вокруг кипит жизнь: снуют толпы народу, то и дело раздаются гудки пароходов, слышно ржание лошадей, запряженных в многочисленные экипажи, привозящие и увозящие людей. + ]]; + obj = {'item_toolbox'}; +}; + +intro = room { + nam = "intro"; + hideinv = true; + disp = "Вступление"; + dsc = [[ + Вы играете за Дэвида Дрейка - единственного сына богатого и уважаемого владельца транспортной компании "Вест-Хэйвен Транс-Оушен".^ + Более 10 лет назад, когда Дэвиду было 10 лет, Уильям таинственным образом пропал, не оставив практически никаких следов. Полицейское расследование вскоре зашло в тупик и было прекращено.^ + Через несколько месяцев компания, оставшаяся без своего владельца обанкротилась, ее имущество было продано.^ + После исчезновения отца Дэвид жил в Вашингтоне с бабушкой. Он пошел по стопам отца и выучился на инженера-кораблестроителя. + Несколько дней назад в доме, где он жил, был обнаружен тайник, хранящий секретные документы отца - карты, указывающие по-видимому на какие-то тайники Уильяма и записка с адресом и именем.^ + Одержимый идеей узнать больше, молодой Дрейк отправляется в Лондон... + ]]; + obj = { + vway("Начать игру", "{Начать игру}", 'port') + } +}; + +game.nam = "Пробуждение"; +game.dsc = [[ + Мой первый текстовый квест +]]; +game.act = "Это не мое"; +game.use = "Каким образом?"; +game.inv = "Мне это не нужно"; + +require "dbg" + +function init() + put(char_coachman, port); + put(submarine_leviathan, shipyard_inside); + ---debug + --pl.where = submarine_leviathan; + walk(final_battle); + move(submarine_leviathan, first_city_inner_north); + --walk(leviathan_wardroom); +end \ No newline at end of file