47 lines
2.0 KiB
Ada
47 lines
2.0 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 codex is (
|
|
fairy, dwarf, gnoll, kobold, goblin, imp,
|
|
neutral
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
type information is
|
|
record
|
|
name : core.short_string;
|
|
bonus_attribute : attribute.codex;
|
|
bonus_skill : skill.codex;
|
|
bonus_resource : resource.codex;
|
|
end record;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
count : constant natural := codex'pos (codex'last) + 1;
|
|
|
|
trait : constant array (codex) 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.steel),
|
|
("Goblin Kingdom ", attribute.reach, skill.exploration, resource.wood),
|
|
("Imp Kingdom ", attribute.wisdom, skill.sorcery, resource.crystal),
|
|
("Neutral ", attribute.offense, skill.archery, resource.gold)
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
procedure draw (value : in codex; x, y : in integer);
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end faction;
|