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 attribute is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2024-04-26 16:05:48 -04:00
|
|
|
type enumeration is (
|
2024-04-23 19:26:55 -04:00
|
|
|
offense, defense, wisdom, stamina, speed, reach
|
2024-02-15 21:03:09 -05:00
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-04-27 10:01:54 -04:00
|
|
|
type information is record
|
2024-02-15 21:03:09 -05:00
|
|
|
name : core.short_string;
|
2024-05-23 03:34:45 -04:00
|
|
|
base : core.point;
|
2024-03-13 14:07:17 -04:00
|
|
|
text : core.long_string;
|
2024-02-15 21:03:09 -05:00
|
|
|
end record;
|
|
|
|
|
2024-05-23 03:34:45 -04:00
|
|
|
type points is array (enumeration) of core.point;
|
|
|
|
type bonus is array (enumeration) of natural;
|
|
|
|
|
|
|
|
default : points := (others => (1, 12));
|
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-04-26 16:05:48 -04:00
|
|
|
trait : constant array (enumeration) of information := (
|
2024-05-23 03:34:45 -04:00
|
|
|
offense => ("Offense ", (1, 12), "Offense attribute determines your damage modifier when attacking. "),
|
|
|
|
defense => ("Defense ", (1, 12), "D-FENS attribute determines how much damage your reflect and receive. "),
|
|
|
|
wisdom => ("Wisdom ", (1, 12), "Wisdom attribute determines how much mana your chad has. "),
|
|
|
|
stamina => ("Stamina ", (1, 12), "Stamina attribute determines how fast you recover from being wounded. "),
|
|
|
|
speed => ("Speed ", (1, 12), "Speed attribute determines how far you can walk per turn. "),
|
|
|
|
reach => ("Reach ", (1, 12), "Reach attribute determines your range modifier when shooting or casting.")
|
2024-02-15 21:03:09 -05:00
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-16 06:24:49 -05:00
|
|
|
procedure configure;
|
|
|
|
|
2024-05-23 03:34:45 -04:00
|
|
|
procedure draw_points (data : in points := (others => (0, 0));
|
2024-05-13 09:55:14 -04:00
|
|
|
x : in integer := 0;
|
2024-05-17 21:00:50 -04:00
|
|
|
y : in integer := 0);
|
2024-05-11 00:28:50 -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 attribute;
|