xhads/source/faction.ads

49 lines
2.4 KiB
Ada

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core, attribute, skill, resource;
package faction is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
fairy, dwarf, gnoll, kobold, goblin, imp,
human, elf, orc, neutral
);
------------------------------------------------------------------------------------------
type information is record
name : core.short_string;
bonus_attribute : attribute.enumeration;
bonus_skill : skill.enumeration;
bonus_resource : resource.enumeration;
end record;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
trait : constant array (enumeration) of information := (
("Fairy Kingdom ", attribute.speed, skill.mysticism, resource.gold),
("Dwarf Kingdom ", attribute.defense, skill.estates, resource.stone),
("Gnoll Kingdom ", attribute.stamina, skill.logistics, resource.leather),
("Kobold Kingdom ", attribute.offense, skill.tactics, resource.metal),
("Goblin Kingdom ", attribute.reach, skill.exploration, resource.wood),
("Imp Kingdom ", attribute.wisdom, skill.sorcery, resource.gem),
("Fallen Human Empire ", attribute.wisdom, skill.estates, resource.gold),
("Fallen Elf Empire ", attribute.wisdom, skill.estates, resource.gold),
("Fallen Orc Empire ", attribute.wisdom, skill.estates, resource.gold),
("Neutral ", attribute.offense, skill.archery, resource.gold)
);
------------------------------------------------------------------------------------------
procedure draw (value : in enumeration; x, y : in integer);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end faction;