-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core; use core; package attribute is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type enumeration is ( offense, defense, wisdom, stamina, speed, reach ); ------------------------------------------------------------------------------------------ type definition is record base : core.point; name : core.unstring; text : core.unstring; end record; type points is array (enumeration) of core.point; type bonus is array (enumeration) of natural; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; default : constant points := (others => (1, 12)); description : constant array (enumeration) of definition := ( offense => ((1, 12), +("Offense"), +("Offense attribute determines your damage modifier when attacking.")), defense => ((1, 12), +("Defense"), +("D-FENS attribute determines how much damage your reflect and receive.")), wisdom => ((1, 12), +("Wisdom"), +("Wisdom attribute determines how much mana your chad has.")), stamina => ((1, 12), +("Stamina"), +("Stamina attribute determines how fast you recover from being wounded.")), speed => ((1, 12), +("Speed"), +("Speed attribute determines how far you can walk per turn.")), reach => ((1, 12), +("Reach"), +("Reach attribute determines your range modifier when shooting or casting.")) ); icon : array (enumeration) of core.sprite; ------------------------------------------------------------------------------------------ procedure draw_points (data : in points; x, y : in integer); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end attribute;