-- $Name: Нежизнь$
-- $Version: 0.1.1a$ 
-- $Author: Андрей Malcolm Арчаков$

instead_version "1.8.2"

game.codepage="UTF-8";

game.act = 'Не работает.';
game.use = 'Это не поможет.';
game.inv = 'Зачем мне это?';
game.forcedsc = true;

require "para"
require "xact" 
require "dash"
require "hotkeys"
--require "dbg"

dofile "fight.lua" --движек боевки
dofile "world.lua" --мир игры
dofile "intro.lua" --интро
dofile "npc.lua"	--неписи
dofile "dialogs.lua"	--диалоги

--Глобальные переменные:

global { -- добавим игроку параметры
	pl_hp_b = 20; 	-- базовое здоровье
	pl_hp = 20;		-- текущее здоровье
	pl_stm = 10;	--стамина
	pl_enj = 50;	--энергия
	pl_str = 2;
	pl_agi = 2;
	pl_pos = 0;		--координата игрока в бою. должна задаваться перед боем.
	pl_ac = 2;		--армор класс
	pl_turn = false;-- дополнительный ли ход у игрока
--	el_time	= 0		--прошедшее время для таймера. Не забывать обнулять!
	mob1 = nil;		--первый моб для боя. Задавать перед входом в бой.
	menu_on = false;	--включено ли меню.
	
	pl_exp = 0;	--экспа и уровень. Заглушки для прокачки к конкурсу
	pl_lvl = 1;	--позже удалить и сделать прокачку на квестах!
	pl_points = 1;	--стат-поинты
};

status = stat {
	nam = function(s)
		pn ('Сила: ', pl_str);
		pn ('Ловкость: ', pl_agi);
		pn ('Броня: ', pl_ac);
		pn ('Жизнь: ', pl_hp);
		pn ('');
		pn ('уровень: ', pl_lvl);
		pn ('опыт: ', pl_exp);
		pn ('_______________')
--		p ('Усталость: ', pl_stm);
--		p ('Энергия: ', pl_enj);
	end
};

rest = menu {
	nam = 'Отдых';
	menu = function()
		if (pl_hp < pl_hp_b) then
			pl_hp = pl_hp + 5;
			if pl_hp > pl_hp_b then
				pl_hp = pl_hp_b;
			end;
		end;
		walkin(here());
	end;
};

stats = menu {
	nam = 'Параметры';
	menu = code [[walkin('statsroom')]];
};

function dismenu() --вкл/выкл меню
	if menu_on then
		rest:disable(); 
		stats:disable();
	else
		rest:enable(); 
		stats:enable(); 
	end;
	menu_on = not menu_on;
end;

main = room {
--	forcedsc = true,
	nam = function ()
		pn ('НЕЖИЗНЬ');
		pn (txtr(txtem ('v0.1.1a')));
	end,
	pic = 'gfx/igdc.png';
	hideinv = true;
	dsc = function()
	pn (txtc 'специально для конкурса IGDC.ru №90^');
	p ('{next|>Начать игру}');
	end;
	obj = {
--		xact('battle', code[[walk(fight);]]),
		xact('next', code[[walk(intro1);]]),
	},
};

statsroom = room {
	nam = "ПАРАМЕТРЫ ПЕРСОНАЖА";
	forcedsc = true;
	dsc = function(s)
		pn ('{str|Сила:} ', pl_str, txtnb('    '), txtb('{str+|+}'));
		pn ('{agi|Ловкость:} ', pl_agi, txtnb('    '), txtb('{agi+|+}'));
		pn ('{ac|Защита:} ', pl_ac, txtnb('    '), txtb('{ac+|+}'));
		pn ('{hp|Жизнь:} ', pl_hp_b, txtnb('    '), txtb('{hp+|+}'));
		pn ('^', txtnb('    '), 'свободных очков: ', pl_points);
		pn ('{gen_next|^>Продолжить}')
	end;
	obj = {
		xact('str', [[Физическая сила Вашего персонажа. Влияет на наносимый урон в бою.]]),
		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 == 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 == 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 == 50) or (pl_points == 0) then
				p ('невозможно увеличить');
			else
				pl_hp_b = (pl_hp_b + 10);
				pl_points = (pl_points - 1);
				p ('');
			end;
		end;};
		xact{'gen_next', code [[walkout()]]};
	},
};

deadscreen = room {
	nam = 'GAME OVER',
	dsc = 'Вы умерли... ещё раз.',
};

bad_ending = room {
	nam = "ЭПИЛОГ",
	dsc = function ()
	p ([[План Агохая сработал: больше никто не мешал его тёмным замыслам. 
	Орды нежити хлынули из горной цитадели и в считанные часы захватили столицу. 
	Королевская семья была жестоко убита, и на трон взошел новый правитель. 
	Страна захлебнулась в крови!^ 
	И рядом с новым королем всегда был его верный раб -- лучшее творение черной магии Агохая -- 
	нежить с разумом и душой человека.^^^]]);
	p (txtc(txtb('КОНЕЦ^^^')));
	p(txtr([[Специально для конкурса igdc.ru №90^
	Автор игры: Андрей Malcolm Арчаков^
	Игра выполнена на платформе INSTEAD^
	Автор платформы: Пётр Косых^
	Сайт платформы: http://instead.syscall.ru/]]));
	end;
};

good_ending = room {
	nam = "ЭПИЛОГ",
	dsc = function ()
	p ([[План Агохая провалился: лучшее творение черной магии некроманта,
	нежить с разумом и душой человека, восстало против своего создателя. Мир был спасен!^
	Без своего господина, терроризировавшие округу монстры были быстро уничтожены силами стражи и охотников на нечисть.^
	А юный герой, превращенный в умертвие по прихоти алчного до власти колдуна, 
	нашел себе новое пристанище в лаборатории Эрумаана и совершил еще множество подвигов.^^^]]);
	p (txtc(txtb('КОНЕЦ^^^')));
	p(txtr([[Специально для конкурса igdc.ru №90^
	Автор игры: Андрей Malcolm Арчаков^
	Игра выполнена на платформе INSTEAD^
	Автор платформы: Пётр Косых^
	Сайт платформы: http://instead.syscall.ru/]]));
	end;
};
