-- 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 enumeration is ( dwarf_base, fairy_base, gnoll_base, goblin_base, imp_base, kobold_base ); ------------------------------------------------------------------------------------------ type information is record name : core.short_string; kind : faction.enumeration; attributes : attribute.points; evoke : effect.enumeration; text : core.long_string; 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, " ") ); ------------------------------------------------------------------------------------------ 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 stat (index : in enumeration; x, y : in integer; center : in boolean); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end unit;