xhads/source/unit.ads

58 lines
2.9 KiB
Ada
Raw Normal View History

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
2024-03-11 15:35:56 -04:00
with core, effect, attribute, faction;
2024-02-15 21:03:09 -05:00
package unit is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type animation is (
idle, walk, melee, shoot, wounded, dead
2024-02-15 21:03:09 -05:00
);
type enumeration is (
dwarf_male, fairy_male, gnoll_male, goblin_male, imp_male, kobold_male
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
type information is
record
2024-03-11 15:35:56 -04:00
name : core.short_string;
kind : faction.enumeration;
2024-04-23 16:19:29 -04:00
attributes : attribute.points;
evoke : effect.enumeration;
text : core.long_string;
2024-02-15 21:03:09 -05:00
end record;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
trait : constant array (enumeration) of information := (
("Dwarf ", faction.dwarf, (others => 1), effect.none, " "),
("Fairy ", faction.fairy, (others => 1), effect.none, " "),
("Gnoll ", faction.gnoll, (others => 1), effect.none, " "),
("Goblin ", faction.goblin, (others => 1), effect.none, " "),
("Imp ", faction.imp, (others => 1), effect.none, " "),
("Kobold ", faction.kobold, (others => 1), effect.none, " ")
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw (index : in enumeration; state : in animation; x, y : in integer);
procedure icon (index : in enumeration; x, y : in integer);
procedure view (index : in enumeration; x, y : in integer);
procedure menu (x, y : in integer; center : in boolean);
2024-02-15 21:03:09 -05:00
procedure stat (index : in enumeration; x, y : in integer; center : in boolean);
2024-03-11 15:35:56 -04:00
2024-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end unit;