xhads/source/chad.ads
2024-02-24 14:51:53 -05:00

56 lines
3.0 KiB
Ada

with core, faction, attribute, skill, resource;
package chad is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type codex is (
ognjen, richard, eric, linus, ada, marina,
kethleen, 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.power => 2, others => 1), (skill.archery => 6, others => 3), (others => 0)),
("Richard Martin Stallman ", faction.stronghold, (attribute.knowledge => 2, others => 1), (skill.leadership => 6, others => 3), (others => 0)),
("Eric Steven Raymond ", faction.inferno, (attribute.defense => 2, others => 1), (skill.resistance => 6, others => 3), (others => 0)),
("Linus Benedict Torvalds ", faction.tower, (attribute.attack => 2, others => 1), (skill.necromancy => 6, others => 3), (others => 0)),
("Ada Augusta King ", faction.conflux, (attribute.defense => 2, others => 1), (skill.sorcery => 6, others => 3), (others => 0)),
("Marina Ann Hantzis ", faction.necropolis, (attribute.attack => 2, others => 1), (skill.first_aid => 6, others => 3), (others => 0)),
("Kathleen Hylda Britten ", faction.rampart, (attribute.knowledge => 2, others => 1), (skill.mysticism => 6, others => 3), (others => 0)),
("Wouter van Oortmerssen ", faction.fortress, (attribute.power => 2, others => 1), (skill.offense => 6, others => 3), (others => 0)),
("John Warner Backus ", faction.dungeon, (attribute.knowledge => 2, others => 1), (skill.intelligence => 6, others => 3), (others => 0))
);
------------------------------------------------------------------------------------------
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;