58 lines
2.8 KiB
Ada
58 lines
2.8 KiB
Ada
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
--
|
|
-- GNU General Public Licence (version 3 or later)
|
|
|
|
with core, effect, attribute, faction;
|
|
|
|
package unit is
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
type animation is (
|
|
idle, walk, melee, shoot, wounded, dead
|
|
);
|
|
|
|
type codex is (
|
|
dwarf_male, fairy_male, gnoll_male, goblin_male, imp_male, kobold_male
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
type information is
|
|
record
|
|
name : core.short_string;
|
|
kind : faction.codex;
|
|
attributes : attribute.points;
|
|
evoke : effect.codex;
|
|
text : core.long_string;
|
|
end record;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
count : constant natural := codex'pos (codex'last) + 1;
|
|
|
|
trait : constant array (codex) 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, " ")
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
procedure configure;
|
|
|
|
procedure draw (index : in codex; state : in animation; x, y : in integer);
|
|
procedure icon (index : in codex; x, y : in integer);
|
|
procedure view (index : in codex; x, y : in integer);
|
|
|
|
procedure menu (x, y : in integer; center : in boolean);
|
|
|
|
procedure stat (index : in codex; x, y : in integer; center : in boolean);
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end unit;
|