----------интро и генерация персонажа---------

intro1 = room {
	nam = "ПРОЛОГ",
	hideinv = true;
	dsc = [[Уже завтра в столице начнется ежегодная весенняя ярмарка. 
	Мы проделали долгий путь, чтобы попасть на нее. 
	До города осталось идти еще часа два-три и мы решили остановиться в придорожной
	 харчевне, уталить голод и передохнуть перед последним рывком.^^
	 {i_next|>Далее}]],
	obj = {
		xact('i_next', code[[walk(introdlg)]]),
	};
};

introdlg = dlg {
	nam = [[В таверне "Волчья Пасть"]],
	hideinv = true;
	entered = [[Мы вошли в таверну. Джим пошел к стойке, а мы с Томом уселись за ближайшим столиком. 
	Через минуту Джимми вернулся с тремя кружками пива.]],
	phr = {
		{'Ну что, скоро еду подадут?', 
			[[-- Ну что, скоро еду подадут?^
			-- Да, жрать охота, сил нет, -- поддержал меня Том.^
			-- Хозяин сказал минут через пять, -- отозвался Джимми.^
			-- Отлично, как раз успеем пропустить по одной! -- сказал Том, поднимая кужку.]], 
			[[pjump 'beer']]};
		{'Выпьем?', [[-- Выпьем?^
		-- Давай, с тебя тост, -- поддержал меня Том.]], [[pjump 'beer']]};
		{tag = 'beer'};
		{'За здоровье!',[[-- За здоровье!^
		Кружки взлетели над столом и с радостным звоном стукнулись друг с другом. 
		Через мгновение приятная прохлада пенного напитка услаждала мой пересохший рот.]],[[pjump 'next']]};
		{'Однажды, одна маленькая, но очень гордая птичка...',
			[[-- Однажды, одна маленькая, но очень гордая птичка, решила доказать другим птицам,
			что она способна на большее, чем они думают. Она быстро замахала своими крылышками и взлетела высоко-восоко в небо. 
			Она поднималась все выше и выше...^
			-- Э, не, брат, так дело не пойдет! -- прервал меня Том, -- знаю я тебя, ты так на пол часа зарядить можешь!^
			-- Давайте за нас? -- Джим робко приподнял кружку.^
			-- Отличный тост! За нас и нашу дружбу! Ура!^
			-- Ура! -- выкрикнули мы хором.^
			Через мгновение приятная прохлада пенного напитка услаждала мой пересохший рот.]],[[pjump 'next']]};
--		{'За котов! И велики!']],[[pjump 'eat']]};
		{tag = 'next'};
		{'>Далее', [[Вскоре хозяин таверны принес три блюда, источающих невероятно аппетитный аромат.
			Хозяин оказался человеком не высоким, поджарым, с пышной, несколько неопрятной, шевелюрой. 
			Его ярко зеленые глаза казалось светились в полумраке зала.^
			-- Приятного аппетита, господа. Желаете снять комнату на ночь?]],[[pjump 'eat']]};
		{tag = 'eat'};
		{'Нет, спасибо. Мы бы хотели быть в городе уже к утру.', [[-- Нет, спасибо. Мы бы хотели быть в городе уже к утру.^
			-- Уже довольно поздно, не советую вам бродить по окрестностям среди ночи.]], [[pjump 'barman']]};
		{tag = 'barman'};
		{'Но мы же совсем рядом со столицей! Неужели разбойники имеют наглость орудовать прямо под носом у королевской стражи?', 
			[[-- Но мы же совсем рядом со столицей! Неужели разбойники имеют наглость орудовать прямо под носом у королевской стражи?^]], [[pjump 'bulgar']]};
		{'Ну уж с разбойниками мы как-нибудь справимся.', [[-- Ну уж с разбойниками мы как-нибудь справимся.^]], [[pjump 'bulgar']]};
		{'И что происходит с такими нерадивыми путниками, решившими погулять под звездами?', [[-- И что происходит с такими нерадивыми путниками, решившими погулять под звездами?^]], [[pjump 'bulgar']]};
		{};
		{tag = 'bulgar', [[-- О, отнюдь не разбойников вам стоит опасаться! 
		Многие местные видели ужасных тварей, шныряющих в ночи в поисках добычи!]], empty = code [[ pjump 'bye']] };
		{'Каких еще тварей?', [[-- Каких еще тварей?^
			-- Точно не скажу. Всякой нечисти в округе полно, но на людей раньше нападений почти не случалось.^
			-- Почти?^
			-- Ну всякое бывало. То зверь голодный из леса выскочит, то вампир 
			обезумевший от жажды кинется на случайного прохожего, да и те же разбойники. 
			Но это была большая редкость. Королевская стража и Гильдия Охотников 
			быстро уничтожали подобную угрозу.^
			-- Так чего же бояться??^
			-- Все изменилось пару месяцев назад. Деревенские говорят, что видели странных тварей, монстров, не живых, но и не мертвых. По ночам стали пропадать люди, а этих монстров становится все больше и больше. Справится с ними никто не может.']], [[pon('guild')]]};
		{tag = 'guild', false, 'Что за "Гильдия Охотников"?', [[-- Что за "Гильдия Охотников"?^
			-- Они появились в столице года три назад. Считают своим долгом перебить всех "проклятых тварей". Всякую безмозглую нежить они перебили очень быстро, остальные же попрятались и не высовываются. А вот новые монстры им оказались не по зубам.]], 
			[[pon('others')]]};
		{tag = 'others', false, 'Кто такие, эти "остальные", о которых ты упомянул?', [[-- Кто такие, эти "остальные", о которых ты упомянул?^
			-- Говорю же, всякой живности в округе много шастает. Оборотни, вымпиры, зомби, да мало ли мать природа создала чудного и непонятного. 
			Но все они головы на плечах имеют, а потому не высовываются лишний раз. Будешь много светиться, людей убивать направо-налево - долго не протянешь. Вилы и факела в деревне в каждом доме есть.]]},
		{'И откуда же беруться эти "твари"?', [[-- И откуда же беруться эти "твари"?^
			-- Откуда беруться, не знаю, но встречаются они в основном вдоль дороги в город и в горах на севере.]]};
		{};
		{tag = 'bye', [[^-- Сказки всё это! -- Том выглядел раздраженным. -- Какой-нибудь деревенский пьянчуга споткнулся в темноте об корягу, зацепился за ветку, увидел тень у дороги и понарасказал баек. Давайте собираться, засиделись мы тут.^
			Мы отодвинули пустые тарелки и встали. Джим повернулся к хозяйну:^
			-- Спасибо, было очень вкусно. Мы пойдем.^
			-- Будте осторожнее. Я предупредил!^
			Выйдя за порог мы с минуту наслаждались свежим ночным воздухом. Переведя дух мы двинулись в сторону города. 
			В том месте, где от дороги отходила узкая едва заметная тропинка, уходящая в сторону гор, мы заметили какое-то движение в темноте. 
			Дальнейшее произошло очень быстро. Они появились как будто из ниоткуда. Одна тварь подскочила ко мне и мир погрузился во тьму...]]};
		{'>Далее',nil, [[walk(persgen)]]};
	};
};

persgen = room {
	nam = "ГЕНЕРАЦИЯ ПЕРСОНАЖА";
	forcedsc = true;
	dsc = function(s)
		pn ('{str|Сила:} ', pl_str, txtnb('    '), txtb('{str-|-}'), txtnb('  '), txtb('{str+|+}'));
		pn ('{agi|Ловкость:} ', pl_agi, txtnb('    '), txtb('{agi-|-}'), txtnb('  '), txtb('{agi+|+}'));
		pn ('{ac|Защита:} ', pl_ac, txtnb('    '), txtb('{ac-|-}'), txtnb('  '), txtb('{ac+|+}'));
		pn ('{hp|Жизнь:} ', pl_hp_b, txtnb('    '), txtb('{hp-|-}'), txtnb('  '), txtb('{hp+|+}'));
		pn ('^', txtnb('    '), 'свободных очков: ', pl_points);
		pn ('{gen_next|^>Продолжить}')
	end;
	obj = {
		xact('str', [[Физическая сила Вашего персонажа. Влияет на наносимый урон в бою.]]),
		xact{'str-', function()
			if (pl_str == 1) then
				p ('невозможно уменьшить');
			else
				pl_str = (pl_str - 1);
				pl_points = (pl_points + 1);
				p ('');
			end;
		end;};
		xact{'str+', function()
			if (pl_str == 5) or (pl_points == 0) then
				p ('невозможно увеличить');
			else
				pl_str = (pl_str + 1);
				pl_points = (pl_points - 1);
				p ('');
			end;
		end;};
		xact('agi', [[Ловкость Вашего персонажа. Влияет на вероятность успешно атаковать врага и увернуться от атаки.]]),
		xact{'agi-', function()
			if (pl_agi == 1) then
				p ('невозможно уменьшить');
			else
				pl_agi = (pl_agi - 1);
				pl_points = (pl_points + 1);
				p ('');
			end;
		end;};
		xact{'agi+', function()
			if (pl_agi == 5) or (pl_points == 0) then
				p ('невозможно увеличить');
			else
				pl_agi = (pl_agi + 1);
				pl_points = (pl_points - 1);
				p ('');
			end;
		end;};
		xact('ac', [[Защита Вашего персонажа. Влияет на уменьшение получаемого урона.]]),
		xact{'ac-', function()
			if (pl_ac == 1) then
				p ('невозможно уменьшить');
			else
				pl_ac = (pl_ac - 1);
				pl_points = (pl_points + 1);
				p ('');
			end;
		end;};
		xact{'ac+', function()
			if (pl_ac == 5) or (pl_points == 0) then
				p ('невозможно увеличить');
			else
				pl_ac = (pl_ac + 1);
				pl_points = (pl_points - 1);
				p ('');
			end;
		end;};
		xact('hp', [[Жизненная сила Вашего персонажа. Влияет на количество поврежедний, которое может выдержать персонаж.]]),
		xact{'hp-', function()
			if (pl_hp_b == 10) then
				p ('невозможно уменьшить');
			else
				pl_hp_b = (pl_hp_b - 10);
				pl_points = (pl_points + 1);
				p ('');
			end;
			pl_hp = pl_hp_b;
		end;};
		xact{'hp+', function()
			if (pl_hp_b == 50) or (pl_points == 0) then
				p ('невозможно увеличить');
			else
				pl_hp_b = (pl_hp_b + 10);
				pl_points = (pl_points - 1);
				p ('');
			end;
			pl_hp = pl_hp_b;
		end;};
		xact{'gen_next', code [[inv():add('status'); walk(necrom1);]]};
	},
};
