diff --git a/items.lua b/items.lua --- a/items.lua +++ b/items.lua @@ -1,7 +1,9 @@ + + item_book_on_navjiarr = obj { - var { - opened = false; - }; + var { + opened = false; + }; nam = "item_book_on_navjiarr"; disp = "Книга о навьярах"; dsc = [[На столе лежит кем-то оставленная {книга}.]]; @@ -10,10 +12,10 @@ item_book_on_navjiarr = obj { if (here().battlefield) then return [[Я не смогу здесь читать. ]]; elseif (here().underwater and not s.opened) then - return [[Я не смогу здесь читать. ]]; - else - s.opened = true; - item_book_dlg.underwater = here().underwater; + return [[Я не смогу здесь читать. ]]; + else + s.opened = true; + item_book_dlg.underwater = here().underwater; walkin('item_book_dlg'); end; end; @@ -25,16 +27,16 @@ item_book_dlg = dlg { }; nam = "Книга о навьярах"; entered = function(s) - language_known = true; - cart_known = true; - if s.underwater then - return [[Вы пытаетесь вспомнить содержимое книги. ]]; - else - return [[Вы открываете оглавление и ищете нужную вам информацию. ]]; - end; - end; + language_known = true; + cart_known = true; + if s.underwater then + return [[Вы пытаетесь вспомнить содержимое книги. ]]; + else + return [[Вы открываете оглавление и ищете нужную вам информацию. ]]; + end; + end; phr = { - {always=true, "Религия и культура", [[Цивилизация навьяров, несмотря на предположительную древность, очень примитивна. Сколь-либо целостной религии у навьяров нет, как нет и явно выраженных божеств. Храмы используются как место почитания предков(древних навьяров) и хранения их реликвий. ^Широко распространено представление о скатах, как о хранителях мудрости и знаний. Нанести вред скату считается серьезнейшим преступлением.^Искусство навьяров основано на интерпретациях существующих источников и историях из жизни современных навьяров. Широко распространены скульптура и резьба по камню. В виду сложности создания письменных текстов, гораздо чаще встречается устная передача произведений. Письменность используется только для сохранения особенно важной информации(обычно уже в сильно искаженном виде). ]]}; + {always=true, "Религия и культура", [[Цивилизация навьяров, несмотря на предположительную древность, очень примитивна. Сколь-либо целостной религии у навьяров нет, как нет и явно выраженных божеств. Храмы используются как место почитания предков(древних навьяров) и хранения их реликвий. ^Широко распространено представление о скатах, как о хранителях мудрости и знаний. Нанести вред скату считается серьезнейшим преступлением.^Искусство навьяров основано на интерпретациях существующих источников и историях из жизни современных навьяров. Широко распространены скульптура и резьба по камню. В виду сложности создания письменных текстов, гораздо чаще встречается устная передача произведений. Письменность используется только для сохранения особенно важной информации(обычно уже в сильно искаженном виде). ]]}; {always=true, "Арифметика", [[Навьяры используют шестиричную систему счисления. Для цифр используются цветовые обозначения, аналогичные буквам. В скобках приведены названия на навьярском языке(запись по системе Светловой): ^]].. img('box:4x16,#8000FF,255') .. [[ - 0 (Nol)^]] .. img('box:4x16,#0080FF,255') .. [[ - 1 (Lse)^]] .. @@ -48,11 +50,11 @@ item_book_dlg = dlg { img('images/book_stones.png') .. " - используется для небольших искусственных сооружений.^" .. img('images/book_bones.png') .. " - кости. Обозначает скелеты крупных животных, хорошо заметные на расстоянии.^" .. img('images/book_weed.png') .. " - растительность.^" .. - "Для указания протяженных объектов используются следующие символы:^" .. - img('images/book_current.png') .. " - течение. Стрелка означает направление по течению.^" .. - img('images/book_ravine.png') .. " - ущелье.^" .. - img('images/book_cliff.png') .. " - скала. Сторона с отметками означает край, находящийся выше.^" .. - 'Если символ направлен из центра к краю -- следует двигаться вдоль объекта, если параллельно окружности -- он пересекает путь.'}; + "Для указания протяженных объектов используются следующие символы:^" .. + img('images/book_current.png') .. " - течение. Стрелка означает направление по течению.^" .. + img('images/book_ravine.png') .. " - ущелье.^" .. + img('images/book_cliff.png') .. " - скала. Сторона с отметками означает край, находящийся выше.^" .. + 'Если символ направлен из центра к краю -- следует двигаться вдоль объекта, если параллельно окружности -- он пересекает путь.'}; {always=true, "Язык", code [[ psub('language'); ]]}; {always=true, "[Отложить книгу]", code [[ back(); ]]}; {tag="language"}; @@ -80,20 +82,20 @@ item_book_dlg = dlg { {always=true, "[В другой раздел]", code [[ pret(); ]]}; - {tag="dictionary"}; - {always=true;"[A]", [[A:^A, ava -- живой^Aed -- океан, море^Ah -- согласие^Arn -- работа^Atre -- предупреждение, опасность^Anot -- жилище^Arhe -- назад^Ayhe -- знание]]}; - {always=true;"[E]", [[E:^Ere -- множество, группа^Eanea -- улица^Elra -- период^Eyle -- всеобщность^Eylesl -- вечность^Eth -- сон]]}; - {always=true;"[H]", [[H:^Hi -- помощь^He -- верх^Hyd -- причина^Has -- неопределенность^Hya -- память, хранение]]}; - {always=true;"[I]", [[I:^I -- Я, Мы^In -- добавление, дополнение^Ien — верх^Ile -- видимость^Intre -- уверенность^Iraa -- окруженающая среда]]}; - {always=true;"[L]", [[L:^Lea -- Радость^Lek -- место^Lyt -- встреча]]}; - {always=true;"[N]", [[N:^Nea -- путь, дорога^Na -- низ^Nev — изменение^Nley -- мало, маленький^Ny -- присутствие^Ndi -- тьма]]}; - {always=true;"[P]", [[P:^Pha -- светящийся, сияющий^Per -- вперед^Pte -- он, они, она, оно, это^Pai — копье]]}; - {always=true;"[R]", [[R:^Rja -- большой, много^Ry -- Порядок]]}; - {always=true;"[T]", [[T:^Tea — наблюдать, смотреть^Tel -- значимость^Ta -- указание места^Tna -- привязка, принадлежность^Tla -- источник^Tek -- механизм^Tre -- множество^Ty -- Ты, Вы]]}; - {always=true;"[V]", [[V:^Ven -- тепло^Vil — покрывало, завеса^Vee -- Подвижный, движущийся^Vji -- разумный^Vta -- неприязнь^Vtre -- отрицание^Vlae -- разделение^Vna -- низ^Viv -- острый]]}; - {always=true;"[Y]", [[Y:^Yir — трава, водоросль^Ynd -- средний^Yhe -- Разграничитель -- ставится после необязательных признаков^Ysl -- время]]}; - {always=true;"[Z]", [[Z:^Za -- язык^Zy -- вопрос^Zee -- расстояние^Yz -- храм]]}; - {always=true, "[В другой раздел]", code [[ + {tag="dictionary"}; + {always=true;"[A]", [[A:^A, ava -- живой^Aed -- океан, море^Ah -- согласие^Arn -- работа^Atre -- предупреждение, опасность^Anot -- жилище^Arhe -- назад^Ayhe -- знание]]}; + {always=true;"[E]", [[E:^Ere -- множество, группа^Eanea -- улица^Elra -- период^Eyle -- всеобщность^Eylesl -- вечность^Eth -- сон]]}; + {always=true;"[H]", [[H:^Hi -- помощь^He -- верх^Hyd -- причина^Has -- неопределенность^Hya -- память, хранение]]}; + {always=true;"[I]", [[I:^I -- Я, Мы^In -- добавление, дополнение^Ien — верх^Ile -- видимость^Intre -- уверенность^Iraa -- окруженающая среда]]}; + {always=true;"[L]", [[L:^Lea -- Радость^Lek -- место^Lyt -- встреча]]}; + {always=true;"[N]", [[N:^Nea -- путь, дорога^Na -- низ^Nev — изменение^Nley -- мало, маленький^Ny -- присутствие^Ndi -- тьма]]}; + {always=true;"[P]", [[P:^Pha -- светящийся, сияющий^Per -- вперед^Pte -- он, они, она, оно, это^Pai — копье]]}; + {always=true;"[R]", [[R:^Rja -- большой, много^Ry -- Порядок]]}; + {always=true;"[T]", [[T:^Tea — наблюдать, смотреть^Tel -- значимость^Ta -- указание места^Tna -- привязка, принадлежность^Tla -- источник^Tek -- механизм^Tre -- множество^Ty -- Ты, Вы]]}; + {always=true;"[V]", [[V:^Ven -- тепло^Vil — покрывало, завеса^Vee -- Подвижный, движущийся^Vji -- разумный^Vta -- неприязнь^Vtre -- отрицание^Vlae -- разделение^Vna -- низ^Viv -- острый]]}; + {always=true;"[Y]", [[Y:^Yir — трава, водоросль^Ynd -- средний^Yhe -- Разграничитель -- ставится после необязательных признаков^Ysl -- время]]}; + {always=true;"[Z]", [[Z:^Za -- язык^Zy -- вопрос^Zee -- расстояние^Yz -- храм]]}; + {always=true, "[В другой раздел]", code [[ pret(); ]]}; }; @@ -131,55 +133,55 @@ item_colt = obj { var { bullets = 6; }; - nam = "colt"; - disp = function(s) - return "Кольт (" .. tostring(s.bullets) .. " зарядов)"; - end; - dsc = [[На столе лежит {револьвер}. ]]; + nam = "colt"; + disp = function(s) + return "Кольт (" .. tostring(s.bullets) .. " зарядов)"; + end; + dsc = [[На столе лежит {револьвер}. ]]; tak = "Вы забираете револьвер. "; - use = function(s, o) + use = function(s, o) if (here().underwater) then return "Под водой это вам не поможет. "; end; - if (s.bullets == 0) then - return "Нужно перезарядиться, патроны кончились"; - end; - - local canshoot = false; - if (type(o.canshoot) == "function") then - canshoot = o.canshoot(o); - else - canshoot = o.canshoot; - end; - - if (canshoot) then - s.bullets = s.bullets - 1; - p("Вы стреляете в "..o.disp2 .. ". "); - if (o.onshoot) then - return(o.onshoot(o)); - else - return ""; - end; - elseif o.noshootsilent then - return - elseif o.noshootmsg then - return o.noshootmsg; - else - return "Я не буду этого делать!"; - end; - end; - inv = function(s) - if (s.bullets == 6) then - return [[Ваш револьвер. Надежное оружие в хорошем состоянии. Оно еще не раз спасет вашу жизнь. У вас также есть небольшой запас патронов к нему. ]]; - else - s.bullets = 6; - p [[Вы перезаряжаете ваш револьвер и оружие снова готово к бою. ]]; + if (s.bullets == 0) then + return "Нужно перезарядиться, патроны кончились"; + end; + + local canshoot = false; + if (type(o.canshoot) == "function") then + canshoot = o.canshoot(o); + else + canshoot = o.canshoot; + end; + + if (canshoot) then + s.bullets = s.bullets - 1; + p("Вы стреляете в "..o.disp2 .. ". "); + if (o.onshoot) then + return(o.onshoot(o)); + else + return ""; + end; + elseif o.noshootsilent then + return + elseif o.noshootmsg then + return o.noshootmsg; + else + return "Я не буду этого делать!"; + end; + end; + inv = function(s) + if (s.bullets == 6) then + return [[Ваш револьвер. Надежное оружие в хорошем состоянии. Оно еще не раз спасет вашу жизнь. У вас также есть небольшой запас патронов к нему. ]]; + else + s.bullets = 6; + p [[Вы перезаряжаете ваш револьвер и оружие снова готово к бою. ]]; if (type(here().onreload) == 'function') then here().onreload(); end; - end; - end; + end; + end; }; item_harpoon = obj { @@ -219,9 +221,9 @@ item_harpoon = obj { return ""; end; elseif (canshoot) then - if (s.charge == 0) then - return "Ружье не заряжено. "; - end; + if (s.charge == 0) then + return "Ружье не заряжено. "; + end; s.charge = s.charge - 1; p("Вы стреляете в "..o.disp2 .. ". "); @@ -230,8 +232,8 @@ item_harpoon = obj { else return ""; end; - elseif o.noshootsilent then - return + elseif o.noshootsilent then + return elseif (o.noshootmsg) then return o.noshootmsg; else @@ -252,232 +254,232 @@ item_harpoon = obj { }; --[[ - Chapter 1 + Chapter 1 ]] item_lamp = obj { - nam = "lamp"; - disp = "Лампа"; - dsc = "На столе стоит {керосиновая лампа}. "; - tak = "Вы забираете лампу с собой. "; - inv = function(s) - if (here().nolamp) then - return "Здесь не стоит зажигать лампу. "; - end; - stead.need_scene(); - if (me().has_light) then - me().has_light = false; - return "Вы гасите свет. "; - else - me().has_light = true; - return "Вы зажигаете лампу. "; - end; - end; + nam = "lamp"; + disp = "Лампа"; + dsc = "На столе стоит {керосиновая лампа}. "; + tak = "Вы забираете лампу с собой. "; + inv = function(s) + if (here().nolamp) then + return "Здесь не стоит зажигать лампу. "; + end; + stead.need_scene(); + if (me().has_light) then + me().has_light = false; + return "Вы гасите свет. "; + else + me().has_light = true; + return "Вы зажигаете лампу. "; + end; + end; }; item_toolbox = obj { - nam = "toolbox"; - disp = "Ящик с инструментами"; - dsc = function(s) - if where(s) == leviathan_airlock then - return [[На полу стоит {ящик с инструментами}. ]]; - else - return [[На земле, рядом со скамейкой стоит {ящик с инструментами}. ]]; - end; - end; - tak = function(s) - if (not char_worker.bought) then - return [[Рабочий огрызается на вас: _"Руки прочь!"_ ]], false; - else - return [[Вы забираете ящик с собой. ]], true; - end; - end; - inv = [[Ящик со всевозможными полезными и не очень инструментами: отвертками, ключами, молотками и т.д. ]]; + nam = "toolbox"; + disp = "Ящик с инструментами"; + dsc = function(s) + if where(s) == leviathan_airlock then + return [[На полу стоит {ящик с инструментами}. ]]; + else + return [[На земле, рядом со скамейкой стоит {ящик с инструментами}. ]]; + end; + end; + tak = function(s) + if (not char_worker.bought) then + return [[Рабочий огрызается на вас: _"Руки прочь!"_ ]], false; + else + return [[Вы забираете ящик с собой. ]], true; + end; + end; + inv = [[Ящик со всевозможными полезными и не очень инструментами: отвертками, ключами, молотками и т.д. ]]; }; item_money = obj { - nam = "money"; - disp = function(s) - if pl.money == 0 or not pl.money then - return "Пустой кошелек"; - else - return s.money_format(); - end; - end; - inv = function(s) - if pl.money == 0 or not pl.money then - return "Кошелек пуст"; - else - return [[Кошелек с монетами различного достоинства на сумму ]] .. s.money_format(); - end; - end; - money_format = function() - if (pl.money % 100 / 10 ~= 1 and pl.money % 10 == 1) then - return tostring(pl.money) .. " шиллинг"; - elseif (pl.money % 100 / 10 ~= 1 and (pl.money % 10 == 2 or pl.money % 10 == 3 or pl.money % 10 == 4)) then - return tostring(pl.money) .. " шиллинга"; - else - return tostring(pl.money) .. " шиллингов"; - end; - end; + nam = "money"; + disp = function(s) + if pl.money == 0 or not pl.money then + return "Пустой кошелек"; + else + return s.money_format(); + end; + end; + inv = function(s) + if pl.money == 0 or not pl.money then + return "Кошелек пуст"; + else + return [[Кошелек с монетами различного достоинства на сумму ]] .. s.money_format(); + end; + end; + money_format = function() + if (pl.money % 100 / 10 ~= 1 and pl.money % 10 == 1) then + return tostring(pl.money) .. " шиллинг"; + elseif (pl.money % 100 / 10 ~= 1 and (pl.money % 10 == 2 or pl.money % 10 == 3 or pl.money % 10 == 4)) then + return tostring(pl.money) .. " шиллинга"; + else + return tostring(pl.money) .. " шиллингов"; + end; + end; }; item_note_1 = obj { - nam = "note1"; - disp = "Записка"; - inv = [[Небольшой клочок бумаги с адресом Майкла Райта в Лондоне. ]]; + nam = "note1"; + disp = "Записка"; + inv = [[Небольшой клочок бумаги с адресом Майкла Райта в Лондоне. ]]; }; item_charts = obj { - nam = "charts"; - disp = "Документы отца"; - dsc = [[На столе лежат {схемы складов и верфей} Вестхейвен Трансоушен. ]]; - inv = [[Схемы нескольких строений, принадлежавших компании отца. На некоторых схемах есть места отмечены жирными крестиками. Схемы с крестиками обозначены как склад 18, док 2, склад 32. ]]; - use = function(s, o) - if (o == char_wright_home) then - remove(s, pl); - put(s, item_wright_table); - char_wright_home.documents = true; - return [[ - Вы отдаете бумаги Джеку. Он кладет их на стол и принимается изучать. - ]]; - end; - end; - tak = function() - pn("Лучше оставить бумаги Джеку. Возможно он что-нибудь найдет. "); - return false; - end; + nam = "charts"; + disp = "Документы отца"; + dsc = [[На столе лежат {схемы складов и верфей} Вестхейвен Трансоушен. ]]; + inv = [[Схемы нескольких строений, принадлежавших компании отца. На некоторых схемах есть места отмечены жирными крестиками. Схемы с крестиками обозначены как склад 18, док 2, склад 32. ]]; + use = function(s, o) + if (o == char_wright_home) then + remove(s, pl); + put(s, item_wright_table); + char_wright_home.documents = true; + return [[ + Вы отдаете бумаги Джеку. Он кладет их на стол и принимается изучать. + ]]; + end; + end; + tak = function() + pn("Лучше оставить бумаги Джеку. Возможно он что-нибудь найдет. "); + return false; + end; }; item_bottle = obj { - nam = "item_bottle"; - disp = "Бутылка с пойлом"; - inv = [[Бутылка дешевого пойла. Вас воротит от одного запаха этой дряни. ]]; + nam = "item_bottle"; + disp = "Бутылка с пойлом"; + inv = [[Бутылка дешевого пойла. Вас воротит от одного запаха этой дряни. ]]; }; item_pump_broken = obj { - nam = "item_pump_broken"; - disp = "Насос"; - inv = [[Старый ручной насос. Рычаг сломан, делая его использование невозможным. ]]; + nam = "item_pump_broken"; + disp = "Насос"; + inv = [[Старый ручной насос. Рычаг сломан, делая его использование невозможным. ]]; }; item_pump = obj { - nam = "item_pump"; - disp = "Насос"; - inv = [[Старый ручной насос. ]]; + nam = "item_pump"; + disp = "Насос"; + inv = [[Старый ручной насос. ]]; }; item_pump_details = obj { - nam = "item_pump_details"; - disp = "Детали насоса"; - inv = [[ - Запчасти для насоса. - ]]; - use = function(s, o) - if (o == item_pump_broken) then - remove(s, pl); - remove(item_pump_broken, pl); - put(item_pump, pl); - return [[Вы починили насос. ]]; - end; - end; + nam = "item_pump_details"; + disp = "Детали насоса"; + inv = [[ + Запчасти для насоса. + ]]; + use = function(s, o) + if (o == item_pump_broken) then + remove(s, pl); + remove(item_pump_broken, pl); + put(item_pump, pl); + return [[Вы починили насос. ]]; + end; + end; }; item_electrodes = obj { - nam = "item_electrodes"; - disp = "Электроды"; - inv = [[Несколько металлических пластин, предназначенных для использования в качестве электродов. ]]; + nam = "item_electrodes"; + disp = "Электроды"; + inv = [[Несколько металлических пластин, предназначенных для использования в качестве электродов. ]]; }; item_ducttape = obj { - nam = "item_ducttape"; - disp = "Изолента"; + nam = "item_ducttape"; + disp = "Изолента"; seen_level = 1; - dsc = [[На столе лежит {моток изоленты}. ]]; - tak = [[Вы забираете изоленту. ]]; - inv = [[Моток изоленты. ]]; + dsc = [[На столе лежит {моток изоленты}. ]]; + tak = [[Вы забираете изоленту. ]]; + inv = [[Моток изоленты. ]]; }; item_map = obj { - nam = "item_map"; - disp = "Карта"; - inv = function(s) - if atlantis_found then - return txttab('50%', 'center') .. img("images/map_begin.png") .. [[^Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". На ней изображено несколько объектов, имеющих значение для компании и, в частности, Атлантида. ]]; - else - atlantis_found = true; - return txttab('50%', 'center') .. img("images/map_begin.png") .. [[^Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". Вы внимательно осматриваете карту в поисках чего-нибудь необычного. Ваше внимание привлекает отметка "Атлантида", сделанная посреди океана. К сожалению, никаких пояснений у вас нет и единственное, что вы можете сделать -- это попытаться добраться до этой точки. ]]; - end; - end; + nam = "item_map"; + disp = "Карта"; + inv = function(s) + if atlantis_found then + return txttab('50%', 'center') .. img("images/map_begin.png") .. [[^Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". На ней изображено несколько объектов, имеющих значение для компании и, в частности, Атлантида. ]]; + else + atlantis_found = true; + return txttab('50%', 'center') .. img("images/map_begin.png") .. [[^Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". Вы внимательно осматриваете карту в поисках чего-нибудь необычного. Ваше внимание привлекает отметка "Атлантида", сделанная посреди океана. К сожалению, никаких пояснений у вас нет и единственное, что вы можете сделать -- это попытаться добраться до этой точки. ]]; + end; + end; }; item_unknown_schematics = obj { - nam = "item_unknown_schematics"; - disp = "Чертежи"; - inv = function(s) - remove(s, pl); - put(item_leviathan_schematics, pl); - return [[Вы рассматриваете чертежи, найденные на складе. Это чертежи какого-то необычного корабля. Многие детали конструкции кажутся вам непонятными, излишними, переусложненными пока вы не натыкаетесь на надпись в углу: _"Проект ,,Левиафан'', Вестхейвен Трансоушен, 1900"_. Чуть ниже написано: _"Подводный корабль предназначенный для длительных автономных путешествий"_. Теперь все встает на свои места -- вот что строил ваш отец. ]]; - end; + nam = "item_unknown_schematics"; + disp = "Чертежи"; + inv = function(s) + remove(s, pl); + put(item_leviathan_schematics, pl); + return [[Вы рассматриваете чертежи, найденные на складе. Это чертежи какого-то необычного корабля. Многие детали конструкции кажутся вам непонятными, излишними, переусложненными пока вы не натыкаетесь на надпись в углу: _"Проект ,,Левиафан'', Вестхейвен Трансоушен, 1900"_. Чуть ниже написано: _"Подводный корабль предназначенный для длительных автономных путешествий"_. Теперь все встает на свои места -- вот что строил ваш отец. ]]; + end; }; item_leviathan_schematics = obj { - nam = "item_leviathan_schematics"; - disp = "Чертежи \"Левиафана\""; - inv = [[Чертежи "Левиафана" -- субмарины, созданной Вестхейвен Трансоушен. ]]; + nam = "item_leviathan_schematics"; + disp = "Чертежи \"Левиафана\""; + inv = [[Чертежи "Левиафана" -- субмарины, созданной Вестхейвен Трансоушен. ]]; }; item_cogs = obj { - nam = "item_cogs"; - disp = "Шестеренки"; - inv = [[Несколько шестерней разного размера. ]]; - use = function(s, o) - if (o == crane_service_access_panel and crane_service_access_panel.state == 1) then - remove(s, pl); - dock_crane.broken = false; - return [[Вы заменяете поврежденные шестерни новыми. ]]; - end; - end; + nam = "item_cogs"; + disp = "Шестеренки"; + inv = [[Несколько шестерней разного размера. ]]; + use = function(s, o) + if (o == crane_service_access_panel and crane_service_access_panel.state == 1) then + remove(s, pl); + dock_crane.broken = false; + return [[Вы заменяете поврежденные шестерни новыми. ]]; + end; + end; }; item_w32_key = obj { - nam = "item_w32_key"; - disp = "Ключ"; - dsc = [[За книгами спрятан небольшой {ключик}. ]]; - tak = function(s) - w32_mgr.key_inplace = false; - return [[Вы забираете ключ. ]]; - end; - inv = [[Ключ от стола управляющего из склада 32. ]]; + nam = "item_w32_key"; + disp = "Ключ"; + dsc = [[За книгами спрятан небольшой {ключик}. ]]; + tak = function(s) + w32_mgr.key_inplace = false; + return [[Вы забираете ключ. ]]; + end; + inv = [[Ключ от стола управляющего из склада 32. ]]; }; item_goldmans_clock = obj { - nam = "item_goldmans_clock"; - disp = "Часы"; - dsc = [[На полу валяются дорогие {карманные часы}. ]]; - tak = [[Вы забираете часы себе. ]]; - inv = [[Дорогие карманные часы на цепочке. Под крышкой гравировка "Франсуа Голдман, 1864". ]]; + nam = "item_goldmans_clock"; + disp = "Часы"; + dsc = [[На полу валяются дорогие {карманные часы}. ]]; + tak = [[Вы забираете часы себе. ]]; + inv = [[Дорогие карманные часы на цепочке. Под крышкой гравировка "Франсуа Голдман, 1864". ]]; }; item_statuette = obj { - nam = "item_statuette"; - disp = "Статуэтка"; - inv = [[Металлическая статуэтка, сделанная из неизвестного вам сплава, она хорошо сохранилась в океанской воде. Статуэтка в деталях изображает навьяра, держащего в правой руке блокнот, и сосредоточенно смотрящего перед собой. ]]; + nam = "item_statuette"; + disp = "Статуэтка"; + inv = [[Металлическая статуэтка, сделанная из неизвестного вам сплава, она хорошо сохранилась в океанской воде. Статуэтка в деталях изображает навьяра, держащего в правой руке блокнот, и сосредоточенно смотрящего перед собой. ]]; }; item_temple_disk = obj { - nam = "item_temple_disk"; - disp = "Светодиск из храма"; - dsc = [[У стены лежит небольшой блестящий {диск}. ]]; - tak = [[Вы поднимаете диск. ]]; - inv = [[Найденный в храме блестящий гладкий диск из неизвестного материала. Диаметр около 10 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки тянутся цветные полосы. ]]; + nam = "item_temple_disk"; + disp = "Светодиск из храма"; + dsc = [[У стены лежит небольшой блестящий {диск}. ]]; + tak = [[Вы поднимаете диск. ]]; + inv = [[Найденный в храме блестящий гладкий диск из неизвестного материала. Диаметр около 10 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки тянутся цветные полосы. ]]; }; item_legend_of_temple = obj { - nam = "item_legend_of_temple"; - disp = "Навьярская табличка"; - dsc = [[На полу в углу валяется какой-то {предмет}. ]]; - tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; - inv = function(s) + nam = "item_legend_of_temple"; + disp = "Навьярская табличка"; + dsc = [[На полу в углу валяется какой-то {предмет}. ]]; + tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; + inv = function(s) if (language_known) then return [[Металлическая табличка, на которую нанесены цветные полосы: "В одном городе жил навьяр по имени Тревенвеерр. Однажды он прослышал о монстре, угрожающем соседним городам. Позже, ему довелось увидеть нападение этого чудовища на группу путешественников. Проследив его путь, Тревенвеерр узнал, что живет чудовище в глубоком ущелье. Вернувшись домой, навьяр начал расспрашивать мудрецов своего города -- как же быть, но никто не дал ему ответ. Тогда Тревенвеерр решил разрушить жилище монстра и отправился туда. Но вместо жилища монстра нашел он древний, чудесный храм -- светящиеся картины в нем складывались в причудливые истории и многие предметы лежали внутри. Тревенвеерр забрал все что смог, но не стал разрушать святилище. Когда он принес реликвии в свой город, то никто не смог понять, для чего они были нужны. Тогда Тревенвеерр отправился бродить по свету в поисках ответов. Ответы он не нашел, но нашел ската, рассказавшего ему, как одолеть чудовище. Воодушевленный, Тревенвеерр отправился в логово чудовища и с тех пор никто никогда не видел ни того, ни другого, а реликвии были утеряны навсегда". ]]; else @@ -487,11 +489,11 @@ item_legend_of_temple = obj { }; item_legend_of_dark_source = obj { - nam = "item_legend_of_dark_source"; - disp = "Навьярская табличка"; - dsc = [[На полу у входа валяется какой-то {предмет}. ]]; - tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; - inv = function(s) + nam = "item_legend_of_dark_source"; + disp = "Навьярская табличка"; + dsc = [[На полу у входа валяется какой-то {предмет}. ]]; + tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; + inv = function(s) if (language_known) then return [[Металлическая табличка, на которую нанесены цветные полосы: "С древних времен в океаны живут скаты огромных размеров. Размах плавников их столь широк, что они закрывают свет поверхности. Мудрость их не уступает размеру. Один из них, известный под именем Фаэндирр, жил в специально встроенном для него храме, где собирал древние ценности и охранял их от воров. Однажды, прознал Фаэндирр об артефакте, именуемом световым диском. Фаэндирр загорелся идеей заполучить себе его. Он долго упрашивал навьяров передать ему световой диск, но те раз за разом отказывали скату. Тогда Фаэндирр украл его прямо из храма. Темной ночью, когда его никто не видел, он пробрался в храм, проткнул охранников хвостовым шипом и забрал артефакт. Когда навьяры пришли к нему, чтобы отобрать реликвию, он спросил их, могут ли они сказать для чего она нужна. Но никто не ответил Фаэндирру. Тогда он заперся в храме, а когда вооруженные навьяры ворвались внутрь, обрушил потолок, похоронив вместе с ними и себя и световой диск". ]]; else @@ -501,11 +503,11 @@ item_legend_of_dark_source = obj { }; item_legend_of_first_city = obj { - nam = "item_legend_of_first_city"; - disp = "Навьярская табличка"; - dsc = [[На полу в углу валяется какой-то {предмет}. ]]; - tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; - inv = function(s) + nam = "item_legend_of_first_city"; + disp = "Навьярская табличка"; + dsc = [[На полу в углу валяется какой-то {предмет}. ]]; + tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; + inv = function(s) if (language_known) then return [[Металлическая табличка, на которую нанесены цветные полосы: "Многие тысячелетия назад навьяры жили в огромных городах. Великие мудрецы строили немыслимые машины, способные делать за навьяров практически все, что можно было пожелать. Кроме одного -- машины не были способны мыслить. В одном городе мудрецы смогли построить такую машину. Но город этот был закрыт и никто посторонний не мог попасть в него -- накрытый незримым куполом, он был надежно защищен от проникновения извне. Навьяры долго ждали, когда им покажут великое чудо. Но никто не выходил из закрытого города. Тогда навьяры собрали войско и отправились к нему. Но, как и раньше, никто не открыл им ворот и не впустил внутрь, а все их оружие оказалось бессильно перед прозрачным барьером. Испугались они тогда и решили забыть дорогу к страшному месту раз и навсегда. И только жители одного города сохранили карту, надежно спрятав ее, решив что однажды придет тот, кто достаточно умен, силен и безрассуден, чтобы проникнуть в город и раскрыть его тайну". ]]; else @@ -515,11 +517,11 @@ item_legend_of_first_city = obj { }; item_legend_of_hunter = obj { - nam = "item_legend_of_hunter"; - disp = "Навьярская табличка"; - dsc = [[На полу в углу валяется какой-то {предмет}. ]]; - tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; - inv = function(s) + nam = "item_legend_of_hunter"; + disp = "Навьярская табличка"; + dsc = [[На полу в углу валяется какой-то {предмет}. ]]; + tak = [[Вы поднимаете предмет. Это небольшая металлическая табличка. ]]; + inv = function(s) if (language_known) then return [[Металлическая табличка, на которую нанесены цветные полосы: "Охотник Вивпаирр часто путешествовал в далекие земли в поисках невиданных рыб и новых мест. Однажды, он узнал про ходящего по поверхности рьяхеарра. Вивпаирр собрался и поднялся на поверхность. В поисках рьяхеарра он наткнулся на хевьяров. Спросив их, где искать зверя он услышал ответ: ,,Докажи, что достоин и мы покажем его тебе. Достань сияющий камень из пещеры''. Вивпаирр сходил и принес камень -- камень лежал глубоко под водой, что не было проблемой для навьяра. Но когда он вернулся, хевьяры сказали ему: ,,Теперь ты должен убить зубастую рыбу, угрожающую нашим рыбакам''. Вивпаирр убил ее -- это было достойное молодого охотника испытание, ведь та рыба была сильной молодой акулой, быстрой и острозубой. Но и тут хевьяры ответили, что это не все. Для последнего испытания они попросили Вивпаирра украсть сияющий диск из подводного города. Понял охотник, что дело нечисто, но жадность и гордыня взыграли в нем -- он во что бы то ни стало хотел найти рьяхеарра. Прокравшись ночью в город, он вынес световой диск из родного храма и отдал хевьярам. А те в ответ лишь посмеялись и сказали, что рьяхеарр живет в далеких землях. Вивпаирр разозлился, убил их всех, забрал обратно световой диск и камень, но не вернулся в родной город. Никто не знает, нашел он рьяхеарра или нет". ]]; else @@ -545,7 +547,7 @@ item_lse_map = obj { end; tak = function(s) atl_iyh_state = 8; - make_snapshot(); + make_snapshot(); return [[Вы забираете табличку себе. ]]; end; dsc = [[На пьедестале посреди комнаты лежит металлическая {табличка}. ]]; @@ -578,7 +580,7 @@ item_venaedanotrr_map = obj { end; if (cart_known) then venaedanotrr_found = true; - remove(item_venaedanotrr_map, pl); + remove(item_venaedanotrr_map, pl); return [[Свиток из водорослей с картой пути к Венаэданотру. Вы путаетесь в сложном переплетении символов, линий и обозначений -- это гораздо сложнее карт, описанных в учебнике и тех, что вы видели ранее, однако, будучи на Левиафане, вы скорее всего сможете проложить маршрут с помощью ]] .. chars .. ". "; else return [[Свиток из водорослей с картой пути к Венаэданотру. Вы не имеете никакого понимания условных обозначений на этой карте. ]]; @@ -587,65 +589,65 @@ item_venaedanotrr_map = obj { }; item_suit = suit { - dlg = "call_leviathan"; - nam = "Скафандр"; + dlg = "call_leviathan"; + nam = "Скафандр"; has_coder = true; }; call_leviathan = dlg { - nam = "phone_dlg"; - disp = "Телефон"; - hideinv = true; - dsc = [[Вы настраиваете радио. С кем хотите поговорить? ]]; - entered = function(s) - poff("phaetlarr", "learr", "radcliffe", "wright", "anna"); - local party = { - char_phaetlarr, - char_learr, - char_radcliffe, - char_wright, - char_anna - }; - for i = 1, #pl.party do - if not party[i].follow then - pon(pl.party[i]); - end; - end; - end; - phr = { - { tag = "phaetlarr", always = true, "[Вызвать Фаэтларра]", function(s) - phaetlarr_dlg.from_call = true; - phaetlarr_dlg.home = false; - phaetlarr_dlg.underwater = false; - walkin("phaetlarr_dlg"); - end}, - { tag = "learr", always = true, "[Вызвать Леарр]", function(s) - if char_learr.home == 'leviathan_cabin_3' then - return [[Леарр не берет трубку. ]]; - else - learr_dlg.from_call = true; - learr_dlg.home = false; - learr_dlg.underwater = false; - walkin("learr_dlg"); - end; - end}, - { tag = "radcliffe", always = true, "[Вызвать Уолтера Рэдклиффа]", function(s) - radcliffe_dlg.from_call = true; - radcliffe_dlg.home = false; - walkin("radcliffe_dlg"); - end}, - { tag = "wright", always = true, "[Вызвать Джека Райта]", function(s) - wright_main_dlg.from_call = true; - wright_main_dlg.home = false; - walkin("wright_main_dlg"); - end}, - { tag = "anna", always = true, "[Вызвать Анну Рэдклифф]", function(s) - anna_dlg.from_call = true; - anna_dlg.home = false; - walkin("anna_dlg"); - end}, - { tag = "exit", always = true, "[Положить трубку]", code = [[back()]]} - } + nam = "phone_dlg"; + disp = "Телефон"; + hideinv = true; + dsc = [[Вы настраиваете радио. С кем хотите поговорить? ]]; + entered = function(s) + poff("phaetlarr", "learr", "radcliffe", "wright", "anna"); + local party = { + char_phaetlarr, + char_learr, + char_radcliffe, + char_wright, + char_anna + }; + for i = 1, #pl.party do + if not party[i].follow then + pon(pl.party[i]); + end; + end; + end; + phr = { + { tag = "phaetlarr", always = true, "[Вызвать Фаэтларра]", function(s) + phaetlarr_dlg.from_call = true; + phaetlarr_dlg.home = false; + phaetlarr_dlg.underwater = false; + walkin("phaetlarr_dlg"); + end}, + { tag = "learr", always = true, "[Вызвать Леарр]", function(s) + if char_learr.home == 'leviathan_cabin_3' then + return [[Леарр не берет трубку. ]]; + else + learr_dlg.from_call = true; + learr_dlg.home = false; + learr_dlg.underwater = false; + walkin("learr_dlg"); + end; + end}, + { tag = "radcliffe", always = true, "[Вызвать Уолтера Рэдклиффа]", function(s) + radcliffe_dlg.from_call = true; + radcliffe_dlg.home = false; + walkin("radcliffe_dlg"); + end}, + { tag = "wright", always = true, "[Вызвать Джека Райта]", function(s) + wright_main_dlg.from_call = true; + wright_main_dlg.home = false; + walkin("wright_main_dlg"); + end}, + { tag = "anna", always = true, "[Вызвать Анну Рэдклифф]", function(s) + anna_dlg.from_call = true; + anna_dlg.home = false; + walkin("anna_dlg"); + end}, + { tag = "exit", always = true, "[Положить трубку]", code = [[back()]]} + } }; item_naethvjirr_key = obj { @@ -653,7 +655,7 @@ item_naethvjirr_key = obj { disp = "Ключ из древнего храма"; dsc = [[На пьедестале лежит небольшая прозрачная {коробочка}, внутрь которой заключена прямоугольная пластинка из неизвестного материала. ]]; inv = [[Небольшая прозрачная {коробочка}, внутрь которой заключена прямоугольная пластинка из неизвестного материала. Пластинка с обеих сторон покрыта тонкими металлическими нитями. ]]; - tak = "Вы забираете коробочку с пьедестала. "; + tak = "Вы забираете коробочку с пьедестала. "; }; item_dynamo = obj { @@ -759,46 +761,46 @@ item_shark_tooth = obj { }; item_raybox = obj { - nam = 'item_raybox'; - disp = 'Коробочка лучей'; - dsc = function(s) - if stead.deref(here()) == 'ven_ravine_crypt' then - return [[Среди множества приборов, расположенных вдоль стен комнаты, ваше внимание привлекает небольшая прозрачная {коробочка} с несколькими прорезями. Внутри нее беспрестанно мечутся тонкие лучики света. ]]; - else - return [[В центре стола, опутанная паутиной проводов, установлена {коробочка лучей}. Внутри нее, в точности как там, в навьярском хранилище, сверкают тонкие лучики света. ]]; - end; - end; - inv = [[Навьярский прибор, известный вам как коробочка лучей. Осталось научиться пользоваться им. ]]; - act = function(s) - if stead.deref(here()) == 'ven_ravine_crypt' then - remove(item_raybox, where(item_raybox)); - take(item_raybox, pl); - return [[Вы аккуратно извлекаете коробочку лучей из механизма, в который она установлена. Светящиеся линии в ее недрах мгновенно гаснут. ]]; - end; - end; - used = function(s, o) - if o == item_map_disc then - deep_temple_found = true; - return [[Вы помещаете диск внутрь коробочки и он тут же опутывается лучами, которые начинают отражаться от него. Над поверхностью коробочки возникает полупрозрачное изображение -- это очень детальная навьярская карта, описывающая какое-то место, находящееся очень далеко отсюда. Цветные полосы, возникшие над изображением гласят "храм". ]]; - end; - end + nam = 'item_raybox'; + disp = 'Коробочка лучей'; + dsc = function(s) + if stead.deref(here()) == 'ven_ravine_crypt' then + return [[Среди множества приборов, расположенных вдоль стен комнаты, ваше внимание привлекает небольшая прозрачная {коробочка} с несколькими прорезями. Внутри нее беспрестанно мечутся тонкие лучики света. ]]; + else + return [[В центре стола, опутанная паутиной проводов, установлена {коробочка лучей}. Внутри нее, в точности как там, в навьярском хранилище, сверкают тонкие лучики света. ]]; + end; + end; + inv = [[Навьярский прибор, известный вам как коробочка лучей. Осталось научиться пользоваться им. ]]; + act = function(s) + if stead.deref(here()) == 'ven_ravine_crypt' then + remove(item_raybox, where(item_raybox)); + take(item_raybox, pl); + return [[Вы аккуратно извлекаете коробочку лучей из механизма, в который она установлена. Светящиеся линии в ее недрах мгновенно гаснут. ]]; + end; + end; + used = function(s, o) + if o == item_map_disc then + deep_temple_found = true; + return [[Вы помещаете диск внутрь коробочки и он тут же опутывается лучами, которые начинают отражаться от него. Над поверхностью коробочки возникает полупрозрачное изображение -- это очень детальная навьярская карта, описывающая какое-то место, находящееся очень далеко отсюда. Цветные полосы, возникшие над изображением гласят "храм". ]]; + end; + end } item_map_disc = obj { - nam = "item_map_disc"; - disp = "Светодиск из катакомб"; - dsc = [[На одном из ящиков лежит небольшой блестящий {диск}. ]]; - tak = [[Вы поднимаете диск. ]]; - inv = function(s) - local dt =''; + nam = "item_map_disc"; + disp = "Светодиск из катакомб"; + dsc = [[На одном из ящиков лежит небольшой блестящий {диск}. ]]; + tak = [[Вы поднимаете диск. ]]; + inv = function(s) + local dt =''; - for i = 1, #dt_code do - dt = dt .. dt_wire_colors[dt_code[i]]; - if i < #dt_code then - dt = dt .. ', '; - end; - end; + for i = 1, #dt_code do + dt = dt .. dt_wire_colors[dt_code[i]]; + if i < #dt_code then + dt = dt .. ', '; + end; + end; - return([[Найденный в катакомбах Нлейисланотра блестящий гладкий диск из неизвестного материала. Диаметр около 10 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки тянутся цветные полосы: ]] .. dt .. [[. ]]); - end; + return([[Найденный в катакомбах Нлейисланотра блестящий гладкий диск из неизвестного материала. Диаметр около 10 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки тянутся цветные полосы: ]] .. dt .. [[. ]]); + end; } \ No newline at end of file