48 lines
2.6 KiB
Ada
48 lines
2.6 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 definition is record
|
|
name : access string := new string'("--");
|
|
bonus_attribute : attribute.enumeration := attribute.enumeration'first;
|
|
bonus_skill : skill.enumeration := skill.enumeration'first;
|
|
bonus_resource : resource.enumeration := resource.enumeration'first;
|
|
end record;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
|
|
|
description : constant array (enumeration) of definition := (
|
|
fairy => (new string'("Fairy Kingdom"), attribute.speed, skill.mysticism, resource.gold),
|
|
dwarf => (new string'("Dwarf Kingdom"), attribute.defense, skill.estates, resource.stone),
|
|
gnoll => (new string'("Gnoll Kingdom"), attribute.stamina, skill.logistics, resource.leather),
|
|
kobold => (new string'("Kobold Kingdom"), attribute.offense, skill.tactics, resource.metal),
|
|
goblin => (new string'("Goblin Kingdom"), attribute.reach, skill.exploration, resource.wood),
|
|
imp => (new string'("Imp Kingdom"), attribute.wisdom, skill.sorcery, resource.gem),
|
|
human => (new string'("Fallen Human Empire"), attribute.wisdom, skill.estates, resource.gold),
|
|
elf => (new string'("Fallen Elf Empire"), attribute.wisdom, skill.estates, resource.gold),
|
|
orc => (new string'("Fallen Orc Empire"), attribute.wisdom, skill.estates, resource.gold),
|
|
neutral => (new string'("Neutral"), attribute.offense, skill.archery, resource.gold)
|
|
);
|
|
|
|
icon : array (enumeration) of core.sprite;
|
|
view : array (enumeration) of core.sprite;
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end faction;
|