xhads/source/chad.ads

56 lines
2.9 KiB
Ada

with core, faction, attribute, skill, resource;
package chad is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type codex is (
ognjen, richard, eric, linus, ada, marina,
angela, wouter, john
);
------------------------------------------------------------------------------------------
type information is
record
name : core.short_string;
kind : faction.codex;
attributes : attribute.value_array;
skills : skill.value_array;
resources : resource.value_array;
end record;
type trait_array is array (codex) of information;
type sprite_array is array (codex) of core.sprite;
------------------------------------------------------------------------------------------
sprite : sprite_array;
count : constant natural := codex'pos (codex'last) + 1;
trait : constant trait_array := (
("Ognjen Milan Robovic ", faction.castle, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Richard Martin Stallman ", faction.stronghold, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Eric Steven Raymond ", faction.inferno, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Linus Benedict Torvalds ", faction.tower, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Ada Augusta King ", faction.conflux, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Marina Ann Hantzis ", faction.necropolis, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Angela <> Collier ", faction.rampart, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("Wouter van Oortmerssen ", faction.fortress, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3)),
("John Warner Backus ", faction.dungeon, (attribute.attack => 1, others => 0), (skill.offense => 4, others => 2), (others =>3))
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw (index : in codex; x, y : in integer);
function name (index : in integer) return core.short_string;
function icon (index : in integer) return core.sprite;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end chad;