-- 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;