-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)

with core, attribute, skill, resource, faction;

package chad is

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

	type enumeration is (
		ada,                    richard,                ognjen,                 wouter,                 john,                   marina
	);

                                             ------------------------------------------------------------------------------------------

	type information is record
		name            : core.short_string;
		kind            : faction.enumeration;
		bonus_attribute : attribute.enumeration;
		bonus_skill     : skill.enumeration;
		bonus_resource  : resource.enumeration;
	end record;

	type data is record
		index      : enumeration;
		attributes : attribute.points;
		skills     : skill.points;
		resources  : resource.points;
	end record;

                                             ------------------------------------------------------------------------------------------

	count : constant natural := enumeration'pos (enumeration'last) + 1;

	trait : constant array (enumeration) of information := (
		("Ada Augusta King        ", faction.fairy,  attribute.defense, skill.diplomacy,  resource.steel),
		("Richard Martin Stallman ", faction.dwarf,  attribute.offense, skill.leadership, resource.wood),
		("Ognjen Milan Robovic    ", faction.gnoll,  attribute.stamina, skill.archery,    resource.leather),
		("Wouter van Oortmerssen  ", faction.kobold, attribute.speed,   skill.medicine,   resource.stone),
		("John Warner Backus      ", faction.goblin, attribute.wisdom,  skill.sorcery,    resource.crystal),
		("Marina Ann Hantzis      ", faction.imp,    attribute.reach,   skill.necromancy, resource.gold)
	);

                                             ------------------------------------------------------------------------------------------

	procedure configure;

	procedure draw (index : in enumeration; x, y : in integer);

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

end chad;