xhads/source/attribute.ads

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;