2024-02-15 21:03:09 -05:00
|
|
|
with core, attribute, skill, resource;
|
|
|
|
|
|
|
|
package faction is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
type codex is (
|
|
|
|
neutral, castle, stronghold, inferno, tower, conflux,
|
|
|
|
necropolis, rampart, fortress, dungeon
|
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
type information is
|
|
|
|
record
|
|
|
|
name : core.short_string;
|
|
|
|
attribute_bonus : attribute.codex;
|
|
|
|
skill_bonus : skill.codex;
|
|
|
|
resource_bonus : resource.codex;
|
|
|
|
end record;
|
|
|
|
|
|
|
|
type trait_array is array (codex) of information;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-19 16:20:38 -05:00
|
|
|
count : constant natural := codex'pos (codex'last) + 1;
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
trait : constant trait_array := (
|
|
|
|
("Neutral ", attribute.attack, skill.tactics, resource.gold),
|
|
|
|
("Castle ", attribute.attack, skill.archery, resource.ore),
|
|
|
|
("Stronghold ", attribute.defense, skill.offense, resource.wood),
|
|
|
|
("Inferno ", attribute.power, skill.fire_magic, resource.mercury),
|
|
|
|
("Tower ", attribute.knowledge, skill.intelligence, resource.gem),
|
|
|
|
("Conflux ", attribute.knowledge, skill.sorcery, resource.gem),
|
|
|
|
("Necropolis ", attribute.attack, skill.necromancy, resource.sulfur),
|
|
|
|
("Rampart ", attribute.defense, skill.scouting, resource.crystal),
|
|
|
|
("Fortress ", attribute.defense, skill.resistance, resource.mercury),
|
|
|
|
("Dungeon ", attribute.power, skill.archery, resource.ore)
|
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
procedure draw (value : in codex; x, y : in integer);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end faction;
|