Files @ b915f91e80af
Branch filter:

Location: games/Awakening/items.lua

Silverwing
Darkstar dialogs; bugfixes;
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 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки - цветные полосы. 
	]];
};