Changeset - 86329c4e5454
[Not reviewed]
default
0 1 0
Silverwing - 7 years ago 2017-10-02 16:20:45

Legend of Phaendirr
1 file changed with 6 insertions and 2 deletions:
0 comments (0 inline, 0 general)
items.lua
Show inline comments
 
@@ -116,507 +116,511 @@ item_colt = obj {
 
			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;
 
			p [[Вы перезаряжаете ваш револьвер и оружие снова готово к бою. ]];
 
            if (type(here().onreload) == 'function') then
 
                here().onreload();
 
            end;
 
		end;
 
	end;
 
};
 
 
item_harpoon = obj {
 
    var {
 
        charge = 1;
 
    };
 
    nam = "item_harpoon";
 
    disp = function(s)
 
        if (s.charge == 0) then
 
            return "Гарпунное ружье (разряжено)";
 
        else
 
            return "Гарпунное ружье (заряжено)";
 
        end;
 
    end;
 
    dsc = [[
 
        
 
    ]];
 
    use = function(s, o)
 
        if (s.charge == 0) then
 
            return "Ружье не заряжено. ";
 
        end;
 
        
 
        local canshoot = false;
 
        if (type(o.canshoot) == "function") then
 
            canshoot = o:canshoot();
 
        else
 
            canshoot = o.canshoot;
 
        end;
 
        
 
        local canthrust = false;
 
        if (type(o.canthrust) == "function") then
 
            canthrust = o:canthrust();
 
        else
 
            canthrust = o.canthrust;
 
        end;
 
        
 
        if (canthrust) then
 
            p("Вы атакуете "..o.disp2 .. ". ");
 
            if (o.onthrust) then
 
                return(o.onthrust(o));
 
            else
 
                return "";
 
            end;
 
        elseif (canshoot) then
 
            s.charge = s.charge - 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.charge > 0) then
 
            return [[Пневматическое ружье с Левиафана. Стреляет гарпунами. Также у вас есть несколько запасных гарпунов с собой. ]];
 
        else
 
            s.charge = 1;
 
            p [[Вы заряжаете ружье. ]];
 
            if (type(here().onreload) == 'function') then
 
                here().onreload();
 
            end;
 
        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 (here().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 atlantis_found then
 
			return [[Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". На ней изображено несколько объектов, имеющих значение для компании и, в частности, Атлантида. ]];
 
		else
 
			atlantis_found = true;
 
			return [[Карта Атлантического океана, судя по маркировке, принадлежащая компании "Вестхейвен Трансоушен". Вы внимательно осматриваете карту в поисках чего-нибудь необычного. Ваше внимание привлекает отметка "Атлантида", сделанная посреди океана. К сожалению, никаких пояснений у вас нет и единственное, что вы можете сделать -- это попытаться добраться до этой точки. ]];
 
		end;
 
	end;
 
};
 
 
item_map_2 = obj {
 
	nam = "item_map_2";
 
	disp = "Карта";
 
	inv = function(s)
 
		iraaphaanotrr_found = true;
 
		dypatreanotrr_found = true;
 
		return [[Карта, отданная вам Екатериной Светловой. Эта карта почти идентична найденной вам на складе, за исключением наличия дополнительных точек, указывающих навьярские города Дипатреанотр и Ираафаанотр. ]];
 
	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_goldmans_clock = obj {
 
	nam = "item_goldmans_clock";
 
	disp = "Часы";
 
	dsc = [[На полу валяются дорогие {карманные часы}. ]];
 
	tak = [[Вы забираете часы себе. ]];
 
	inv = [[Дорогие карманные часы на цепочке. Под крышкой гравировка "Франсуа Голдман, 1864". ]];
 
};
 
 
item_statuette = obj {
 
	nam = "item_statuette";
 
	disp = "Статуэтка";
 
	inv = [[Металлическая статуэтка, сделанная из неизвестного вам сплава, она хорошо сохранилась в океанской воде. Статуэтка в деталях изображает навьяра, держащего в правой руке блокнот, и сосредоточенно смотрящего перед собой. ]];
 
};
 
 
item_temple_disk = obj {
 
	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)
 
        if (pl.language_known) then   
 
            return [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров. История, записанная здесь, гласит: "В одном городе жил навьяр по имени Тревенвеерр. Однажды он прослышал о монстре, угрожающем соседним городам. Позже, ему довелось увидеть нападение этого чудовища на группу путешественников. Проследив его путь, Тревенвеерр узнал, что живет чудовище в глубоком ущелье. Вернувшись домой, навьяр начал расспрашивать мудрецов своего города -- как же быть, но никто не дал ему ответ. Тогда Тревенвеерр решил разрушить жилище монстра и отправился туда. Но вместо жилища монстра нашел он древний, чудесный храм -- светящиеся картины в нем складывались в причудливые истории и многие предметы лежали внутри. Тревенвеерр забрал все что смог, но не стал разрушать святилище. Когда он принес реликвии в свой город, то никто не смог понять, как их использовать -- записи оказались непонятны даже для мудрецов, а остальные реликвии никто вообще никогда не видел. Тогда Тревенвеерр отправился бродить по свету в поисках ответов. Долго бродил, но в итоге, нашел он ската, который рассказал ему, как одолеть чудовище. Воодушевленный, Тревенвеерр отправился в логово чудовища и с тех пор никто никогда не видел ни того, ни другого". ]];
 
        else
 
            return [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров. ]];
 
        end;
 
    end;
 
};
 
 
item_legend_of_dark_source = obj {
 
	nam = "item_legend_of_dark_source";
 
	disp = "Навьярская табличка";
 
	dsc = [[На полу у входа валяется какой-то {предмет}. ]];
 
	tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
 
	inv = [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров. 
 
		~Легенда об излучающем тьму~]];
 
	inv = function(s)
 
        if (pl.language_known) then   
 
            return [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров. История, записанная здесь, гласит: "С древних времен в океаны живут скаты огромных размеров. Размах плавников их столь широк, что они закрывают ими свет поверхности. Мудрость их не уступает размеру. Один из них, известный под именем Фаэндирр, жил в специально встроенном для него храме, где собирал древние ценности и охранял их от воров. Однажды, прознал Фаэндирр об артефакте, именуемом световым диском. Фаэндирр загорелся идеей заполучить себе его. Он долго упрашивал навьяров передать ему световой диск, но те раз за разом отказывали скату. Тогда Фаэндирр украл его прямо из храма. Темной ночью, когда его никто не видел, пробрался он в храм, проткнул охранников хвостовым шипом и забрал артефакт. Когда навьяры пришли к нему, чтобы отобрать реликвию, он спросил их, могут ли они сказать для чего она нужна. Но никто не ответил Фаэндирру. Тогда он заперся в храме, а когда вооруженные навьяры ворвались внутрь, обрушил потолок, похоронив вместе с ними и себя и световой диск". ]];
 
        else
 
            return [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров. ]];
 
        end;
 
};
 
 
item_legend_of_first_city = obj {
 
	nam = "item_legend_of_first_city";
 
	disp = "Навьярская табличка";
 
	dsc = [[На полу в углу валяется какой-то {предмет}. ]];
 
	tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
 
	inv = [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров. 
 
		~Легенда о первом городе~]];
 
};
 
 
item_legend_of_hunter = obj {
 
	nam = "item_legend_of_hunter";
 
	disp = "Навьярская табличка";
 
	dsc = [[На полу в углу валяется какой-то {предмет}. ]];
 
	tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
 
	inv = [[Металлическая табличка, на которую нанесены цветные полосы, соответствующие буквам языка навьяров. 
 
		~Легенда об охотнике~]];
 
};
 
 
item_lse_map = obj {
 
    var {
 
        state = 1;
 
    };
 
    seen_level = 1;
 
    nam = "item_lse_map";
 
    disp = function(s)
 
        if (s.state == 1) then
 
            return "Фрагмент карты";
 
        elseif (s.state == 5) then
 
            return "Навьярская карта";
 
        else
 
            return "Фрагменты карты";
 
        end;
 
    end;
 
    tak = [[Вы забираете табличку себе. ]];
 
    dsc = [[На пьедестале посреди комнаты лежит металлическая {табличка}. ]];
 
    inv = function(s)
 
        if (s.state == 1) then
 
            return [[Один из фрагментов навьярской карты, ведущей в Лсэрианотр - легендарный город подводной расы. ]];
 
        elseif (s.state == 5) then
 
            return [[Навьярская карта, ведущая в Лсэрианотр - легендарный город подводной расы. ]];
 
        else
 
            return [[Несколько фрагментов навьярской карты, ведущей в Лсэрианотр - легендарный город подводной расы. ]];
 
        end;
 
    end;
 
};
 
 
item_venaedanotrr_map = obj {
 
    nam = "item_venaedanotrr_map";
 
    disp = "Навьярская карта";
 
    dsc = [[Древняя металлическая пластина с картой пути к Венаэданотру. Вы путаетесь в сложном переплетении символов, линий и обозначений -- это гораздо сложнее карт, описанных в учебнике и виденных вами до сих пор. ]];
 
};
 
 
item_navjiarr_chart_iraa = obj {
 
	nam = "item_navjiarr_chart_iraa";
 
	disp = "Карта из Ираафаанотра";
 
	dsc = [[На полу в углу валяется какой-то {предмет}. ]];
 
	tak = [[Вы поднимаете предмет - это небольшая металлическая табличка. ]];
 
	inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
 
};
 
 
item_navjiarr_chart_dyp = obj {
 
	nam = "item_navjiarr_chart_dyp";
 
	disp = "Карта из Дипатреанотра";
 
	dsc = [[На пьедестале лежит металлическая табличка. ]];
 
	tak = function(s)
 
		path("Выйти из храма"):enable();
 
		return [[Как только вы подбираете табличку, дверь открывается. ]];
 
	end;
 
	inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
 
};
 
 
item_navjiarr_chart_ven = obj {
 
    nam = "item_navjiarr_chart_ven";
 
    disp = "Карта из Венаэданотра";
 
    inv = [[Металлическая табличка с нанесенными обозначениями. ]];
 
}
 
 
item_navjiarr_cube = obj {
 
	nam = "item_navjiarr_cube";
 
	disp = "Навьярский артефакт";
 
	inv = [[Небольшой прозрачный куб, очень холодный на ощупь - холод ощущается даже в скафандре. От него исходит слабое свечение. ]];
 
};
 
 
item_talk_device = obj {
 
	nam = "item_talk_device";
 
	disp = "Устройство для общения с навьярами";
 
	inv = [[Небольшое устройство с клавиатурой и большим количеством цветных лампочек. Оно полностью герметично и может быть использовано под водой. ]];
 
};
 
 
item_suit = suit {
 
	dlg = "call_leviathan";
 
	nam = "Скафандр";
 
    has_coder = true;
 
};
 
 
item_deep_key = obj {
 
    nam = "item_deep_key";
 
    disp = "Пирамидка";
 
    dsc = [[На пьедестале вы видите небольшой блестящий {предмет}. ]];
 
    inv = [[Небольшая полупрозрачная пирамидка из неизвестного материала. Гладкая и холодная на ощупь. На гранях пирамидки нанесены непонятные символы. ]];
 
    tak = [[Это оказалась небольшая полупрозрачная пирамидка. Вы забираете ее себе. ]];
 
};
 
 
item_navjiarr_chart_z = obj {
 
    nam = "item_navjiarr_chart_z";
 
    disp = "Навьярская табличка";
 
    dsc = [[На пьедестале лежит небольшая металлическая {табличка}. ]];
 
    tak = function(s)
 
        return [[Вы поднимаете предмет - это небольшая металлическая табличка. Вдалеке вы слышите скрежет камней - дверь храма снова открыта. ]];
 
    end;
 
    inv = [[Металлическая табличка, на которую нанесены странные обозначения. ]];
 
};
 
 
item_naethvjirr_key = obj {
 
    nam = "item_naethvjirr_key";
 
    disp = "Ключ из древнего храма";
 
    dsc = [[На пьедестале лежит небольшая прозрачная {коробочка}, внутрь которой заключена прямоугольная пластинка из неизвестного материала. ]];
 
    inv = [[Небольшая прозрачная {коробочка}, внутрь которой заключена прямоугольная пластинка из неизвестного материала. Пластинка с обеих сторон покрыта тонкими металлическими нитями. ]];
 
};
 
\ No newline at end of file
0 comments (0 inline, 0 general)