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-06-01 11:46:17 -04:00
|
|
|
type definition is record
|
2024-05-23 03:34:45 -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 03:34:45 -04:00
|
|
|
type points is array (enumeration) of core.point;
|
|
|
|
type bonus is array (enumeration) of natural;
|
|
|
|
|
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:01:14 -04:00
|
|
|
default : constant points := (others => (1, 12));
|
|
|
|
|
2024-06-02 04:34:59 -04:00
|
|
|
description : constant array (enumeration) of definition := (
|
|
|
|
offense => ((1, 12), core.unbound ("Offense"), core.unbound ("Offense attribute determines your damage modifier when attacking.")),
|
|
|
|
defense => ((1, 12), core.unbound ("Defense"), core.unbound ("D-FENS attribute determines how much damage your reflect and receive.")),
|
|
|
|
wisdom => ((1, 12), core.unbound ("Wisdom"), core.unbound ("Wisdom attribute determines how much mana your chad has.")),
|
|
|
|
stamina => ((1, 12), core.unbound ("Stamina"), core.unbound ("Stamina attribute determines how fast you recover from being wounded.")),
|
|
|
|
speed => ((1, 12), core.unbound ("Speed"), core.unbound ("Speed attribute determines how far you can walk per turn.")),
|
|
|
|
reach => ((1, 12), core.unbound ("Reach"), core.unbound ("Reach attribute determines your range modifier when shooting or casting."))
|
|
|
|
);
|
|
|
|
|
|
|
|
icon : array (enumeration) of core.sprite;
|
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-31 07:14:00 -04:00
|
|
|
procedure draw_points (data : in points; x, y : in integer);
|
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;
|