Files @ b915f91e80af
Branch filter:

Location: games/Awakening/items.lua - annotation

Silverwing
Darkstar dialogs; bugfixes;
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
c4b207ce4252
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
17f7f42688ff
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
7e7579e17140
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
77aa01170934
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
dd1707453c3e
dd1707453c3e
6e7519136e47
39940ecc871b
39940ecc871b
39940ecc871b
6e7519136e47
6e7519136e47
dc34aaff843a
6e7519136e47
6e7519136e47
dc34aaff843a
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
0c2323215e40
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f02901977ca4
4362d49f1350
f02901977ca4
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f02901977ca4
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
f02901977ca4
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
9c3e0fecdb92
9c3e0fecdb92
9c3e0fecdb92
9c3e0fecdb92
dc34aaff843a
9c3e0fecdb92
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
9c3e0fecdb92
9c3e0fecdb92
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
dc34aaff843a
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
39940ecc871b
39940ecc871b
39940ecc871b
39940ecc871b
39940ecc871b
39940ecc871b
6e7519136e47
39940ecc871b
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
0c2323215e40
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
6e7519136e47
0c2323215e40
6e7519136e47
96392fc4460e
96392fc4460e
dc34aaff843a
dc34aaff843a
dc34aaff843a
96392fc4460e
dc34aaff843a
96392fc4460e
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
dc34aaff843a
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
38255c2dc001
2f4155e3d84b
2f4155e3d84b
2f4155e3d84b
2f4155e3d84b
2f4155e3d84b
2f4155e3d84b
2f4155e3d84b
2f4155e3d84b
c4b207ce4252
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 сантиметров. В центре небольшое треугольное отверстие. Вдоль внешней кромки - цветные полосы. 
	]];
};