xhads/source/skill.ads

77 lines
3.0 KiB
Ada
Raw Normal View History

2024-02-15 21:03:09 -05:00
with core;
package skill is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type codex is (
archery, offense, armourer, resistance, tactics, first_aid,
logistics, path_finding, navigation, scouting, leadership, scholar,
fire_magic, water_magic, air_magic, earth_magic, mysticism, necromancy,
sorcery, wisdom, intelligence, learning, diplomacy, estates
);
------------------------------------------------------------------------------------------
subtype base_limit is natural range 0 .. 3;
subtype level_limit is natural range 0 .. 3;
type information is
record
name : core.short_string;
base : base_limit;
level : level_limit;
end record;
type trait_array is array (codex) of information;
2024-02-16 09:59:19 -05:00
type sprite_array is array (codex) of core.sprite;
2024-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------
2024-02-19 21:29:11 -05:00
sprite : sprite_array;
2024-02-16 09:59:19 -05:00
count : constant natural := codex'pos (codex'last) + 1;
2024-02-15 21:03:09 -05:00
trait : constant trait_array := (
("Archery ", 0, 0),
("Offense ", 0, 0),
("Armourer ", 0, 0),
("Resistance ", 0, 0),
("Tactics ", 0, 0),
("First Aid ", 0, 0),
("Logistics ", 0, 0),
("Path Finding ", 0, 0),
("Navigation ", 0, 0),
("Scouting ", 0, 0),
("Leadership ", 0, 0),
("Scholar ", 0, 0),
("Fire Magic ", 0, 0),
("Water Magic ", 0, 0),
("Air Magic ", 0, 0),
("Earth Magic ", 0, 0),
("Mysticism ", 0, 0),
("Necromancy ", 0, 0),
("Sorcery ", 0, 0),
("Wisdom ", 0, 0),
("Intelligence ", 0, 0),
("Learning ", 0, 0),
("Diplomacy ", 0, 0),
("Estates ", 0, 0)
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw (index : in codex; x, y : in integer);
2024-02-15 21:03:09 -05:00
2024-02-19 21:29:11 -05:00
function name (index : in integer) return core.short_string;
function base (index : in integer) return base_limit;
function level (index : in integer) return level_limit;
function icon (index : in integer) return core.sprite;
2024-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end skill;