item_pickaxe = obj { nam = "pickaxe"; disp = "Кирка"; dsc = [[ Ваше внимание привлекает предмет, похожий на {кирку}^^ ]]; tak = [[ Вы решили забрать кирку с собой, на всякий случай ]]; inv = "Хорошая годная кирка. Сделанная из неизвестного металла она хорошо перенесла тысячелетия в соленой воде атлантического океана."; use = function(s, o) local canhit = false; if (type(o.canhit) == "function") then canhit = o.canhit(o); else canhit = o.canhit; end; if (canhit) then if (o.onhit) then return(o.onhit(o)); else return ""; end; elseif (o.nohitmsg) then return o.nohitmsg; else return "Я не буду этого делать!"; end; end; }; item_colt = obj { nam = "colt"; bullets = 6; disp = function(s) return "Кольт (" .. tostring(s.bullets) .. " зарядов)"; end; dsc = [[ Ваш револьвер. Надежное оружие в хорошем состоянии. Оно еще не раз спасет вашу жизнь. У вас также есть небольшой запас патронов к нему. ]]; use = function(s, o) 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.noshootmsg) then return o.noshootmsg; else return "Я не буду этого делать!"; end; end; inv = function(s) if (s.bullets > 0) then return [[ Ваш револьвер. Надежное оружие в хорошем состоянии. Оно еще не раз спасет вашу жизнь. У вас также есть небольшой запас патронов к нему. ]]; else s.bullets = 6; return [[ Вы перезаряжаете ваш револьвер и оружие снова готово к бою ]]; end; end; }; item_first_city_key = obj { nam = "first_city_key"; disp = "Ключ от города"; inv = [[ Небольшой светящийся кубик со стороной около 2-х сантиметров. Он плавно меняет цвета: синий, зеленый, желтый, белый, красный, черный. ]]; use = function(s, o) if (o == char_first_city_guardian) then objs("first_city_entrance"):enable("first_city_first_gate"); first_city_entrance.open = true; return [[ Как только кубик попадает в поле зрения стража, его плавник гаснет и ворота начинают медленно открываться. Через несколько минут они застывают в открытом состоянии. Теперь ничто не мешает вашему проходу. ]]; end; end }; item_service_info = obj { nam = "service_info"; disp = "Схема города"; inv = [[ Это "карта" сервисных тоннелей Лсэрианотра. Вы видите следующие последовательности символов, подписанные на языке навьяров Nol Tei Vlye'Tei Elt'Dyle Tei'Elt Tei'Tei ]]; }; item_umbrella = obj { nam = "umbrella"; disp = "Зонт"; inv = [[Совершенно новый зонт производства "Винсент и сыновья". ]]; }; --[[ Chapter 1 ]] item_lamp = obj { nam = "lamp"; disp = "Лампа"; dsc = "На столе стоит {керосиновая лампа}. "; tak = "Вы забираете лампу с собой. "; inv = function(s) if (pl.where.nolamp) then return "Здесь не стоит зажигать лампу. "; end; if (pl.has_light) then pl.has_light = false; return "Вы гасите свет. "; else pl.has_light = true; return "Вы зажигаете лампу. "; end; end; }; item_toolbox = obj { nam = "toolbox"; disp = "Ящик с инструментами"; dsc = [[ Вы видите {ящик} со всевозможными полезными и не очень инструментами - отвертками, ключами, молотками и т.д.^ ]]; 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) then return "Пустой кошелек"; else return s.money_format(); end; end; inv = function(s) if (pl.money == 0) 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 = [[ Небольшой клочок бумаги с адресом Майкла Райта в Лондоне. ]]; }; 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; }; item_bottle = obj { nam = "item_bottle"; disp = "Бутылка с пойлом"; inv = [[ Бутылка дешевого пойла. Вас воротит от одного запаха этой дряни. ]]; use = function(s, o) if (o == char_worker) then remove(s, pl); char_worker.bought = true; pr([[ Вы подходите к рабочему и, аккуратно доставая бутылку, спрашиваете: ^ -- Выпить хочешь? ^ -- Ага, -- удивленно и обрадованно восклицает рабочий, протягивая руки. ^ -- Меняю на твой ящик с инструментами. ^ -- Идет, -- отвечает рабочий, выхватывая из ваших рук заветную бутылку. ]]); end; end; }; item_pump_broken = obj { nam = "item_pump_broken"; disp = "Насос"; inv = [[ Старый ручной насос. Рычаг сломан, делая его использование невозможным. ]]; }; item_pump = obj { 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; }; item_electrodes = obj { nam = "item_electrodes"; disp = "Электроды"; inv = [[ Несколько металлических пластин, предназначенных для использования в качестве электродов. ]]; }; item_ducttape = obj { nam = "item_ducttape"; disp = "Изолента"; dsc = [[ На столе лежит {моток изоленты}. ]]; tak = [[ Вы забираете изоленту. ]]; inv = [[ Моток изоленты. ]]; }; item_map = obj { nam = "item_map"; disp = "Карта"; inv = function(s) if s.seen then return [[ Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". На ней изображено несколько объектов, имеющих значение для компании и, в частности, Атлантида. ]]; else s.seen = true; atlantis_found = true; return [[ Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". Вы внимательно осматриваете карту в поисках чего-нибудь необычного. Ваше внимание привлекает отметка "Атлантида", сделанная посреди океана. К сожалению, никаких пояснений у вас нет и единственное, что вы можете сделать - это попытаться добраться до этой точки. ]]; 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; }; item_leviathan_schematics = obj { 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; }; item_w32_key = obj { nam = "item_w32_key"; disp = "Ключ"; dsc = [[ За книгами спрятан небольшой {ключик}. ]]; tak = function(s) w32_mgr.key_inplace = false; return [[ Вы забираете ключ. ]]; end; inv = [[ Ключ от стола управляющего из склада 32 ]]; }; item_navjiarr_disk = obj { nam = "item_navjiarr_disk"; disp = "Диск"; dsc = [[ Блестящий гладкий диск из неизвестного материала. Диаметр около 10 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки - цветные полосы. ]]; };