xhads/source/skill.ads

54 lines
2.2 KiB
Ada

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core;
package skill is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
alchemy, archery, architecture, athletics, diplomacy, estates,
exploration, leadership, logistics, medicine, mercantile, mysticism,
necromancy, resistance, skirmish, sorcery, tactics, thaumaturgy
);
------------------------------------------------------------------------------------------
type definition is record
base : core.point;
name : core.unstring;
text : core.unstring;
end record;
type points is array (enumeration) of core.point;
type bonus is array (enumeration) of natural;
type description_array is array (enumeration range <>) of definition;
type icon_array is array (enumeration range <>) of core.sprite;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
default : constant points := (others => (0, 24));
description : access description_array;
icon : access icon_array;
------------------------------------------------------------------------------------------
procedure configure;
procedure draw_points (data : in points := (others => (0, 0));
x : in integer := 0;
y : in integer := 0);
procedure save_points (here : in core.io.file_type; data : in points);
procedure load_points (here : in core.io.file_type; data : out points);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end skill;