2024-04-25 00:27:13 -04:00
|
|
|
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
|
|
--
|
|
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
with core;
|
|
|
|
|
|
|
|
package skill is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2024-04-26 16:05:48 -04:00
|
|
|
type enumeration is (
|
2024-05-07 08:07:01 -04:00
|
|
|
alchemy, archery, architecture, athletics, diplomacy, estates,
|
|
|
|
exploration, leadership, logistics, medicine, mercantile, mysticism,
|
|
|
|
necromancy, resistance, skirmish, sorcery, tactics, thaumaturgy
|
2024-02-15 21:03:09 -05:00
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-06-01 11:46:17 -04:00
|
|
|
type definition is record
|
2024-05-23 04:44:43 -04:00
|
|
|
base : core.point;
|
2024-05-31 07:14:00 -04:00
|
|
|
name : core.unstring;
|
|
|
|
text : core.unstring;
|
2024-02-15 21:03:09 -05:00
|
|
|
end record;
|
|
|
|
|
2024-05-23 04:44:43 -04:00
|
|
|
type points is array (enumeration) of core.point;
|
|
|
|
type bonus is array (enumeration) of natural;
|
|
|
|
|
2024-06-01 18:25:10 -04:00
|
|
|
type description_array is array (enumeration range <>) of definition;
|
|
|
|
type icon_array is array (enumeration range <>) of core.sprite;
|
2024-02-16 09:59:19 -05:00
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-04-26 16:05:48 -04:00
|
|
|
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
2024-02-19 16:20:38 -05:00
|
|
|
|
2024-06-01 18:25:10 -04:00
|
|
|
default : constant points := (others => (0, 24));
|
|
|
|
|
|
|
|
description : access description_array;
|
|
|
|
icon : access icon_array;
|
2024-05-29 10:20:35 -04:00
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-16 06:24:49 -05:00
|
|
|
procedure configure;
|
|
|
|
|
2024-05-23 04:44:43 -04:00
|
|
|
procedure draw_points (data : in points := (others => (0, 0));
|
|
|
|
x : in integer := 0;
|
|
|
|
y : in integer := 0);
|
2024-05-11 00:49:15 -04:00
|
|
|
|
2024-05-25 03:53:53 -04:00
|
|
|
procedure save_points (here : in core.io.file_type; data : in points);
|
|
|
|
procedure load_points (here : in core.io.file_type; data : out points);
|
2024-05-25 03:19:58 -04:00
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end skill;
|