xhads/source/faction.ads

49 lines
2.5 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 => ("Fairy Kingdom ", attribute.speed, skill.mysticism, resource.gold),
dwarf => ("Dwarf Kingdom ", attribute.defense, skill.estates, resource.stone),
gnoll => ("Gnoll Kingdom ", attribute.stamina, skill.logistics, resource.leather),
kobold => ("Kobold Kingdom ", attribute.offense, skill.tactics, resource.metal),
goblin => ("Goblin Kingdom ", attribute.reach, skill.exploration, resource.wood),
imp => ("Imp Kingdom ", attribute.wisdom, skill.sorcery, resource.gem),
human => ("Fallen Human Empire ", attribute.wisdom, skill.estates, resource.gold),
elf => ("Fallen Elf Empire ", attribute.wisdom, skill.estates, resource.gold),
orc => ("Fallen Orc Empire ", attribute.wisdom, skill.estates, resource.gold),
neutral => ("Neutral ", attribute.offense, skill.archery, resource.gold)
);
------------------------------------------------------------------------------------------
procedure draw (value : in enumeration; x, y : in integer);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end faction;