xhads/source/attribute.ads

55 lines
2.5 KiB
Ada
Raw Normal View History

-- 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
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
offense, defense, wisdom, stamina, speed, reach
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
type definition is record
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;
type points is array (enumeration) of core.point;
type bonus is array (enumeration) of natural;
2024-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
default : constant points := (others => (1, 12));
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-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------
procedure configure;
2024-05-31 07:14:00 -04:00
procedure draw_points (data : in points; x, y : in integer);
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;