55 lines
2.5 KiB
Ada
55 lines
2.5 KiB
Ada
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
--
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
with core;
|
|
|
|
package attribute is
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
type enumeration is (
|
|
offense, defense, wisdom, stamina, speed, reach
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
type information is record
|
|
name : core.short_string;
|
|
base : core.point;
|
|
text : core.long_string;
|
|
end record;
|
|
|
|
type points is array (enumeration) of core.point;
|
|
type bonus is array (enumeration) of natural;
|
|
|
|
default : points := (others => (1, 12));
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
|
|
|
trait : constant array (enumeration) of information := (
|
|
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.")
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
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 attribute;
|