with core; package skill is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type codex is ( archery, offense, armourer, resistance, tactics, first_aid, logistics, path_finding, navigation, scouting, leadership, scholar, fire_magic, water_magic, air_magic, earth_magic, mysticism, necromancy, sorcery, wisdom, intelligence, learning, diplomacy, estates ); ------------------------------------------------------------------------------------------ subtype base_limit is natural range 0 .. 36; type information is record name : core.short_string; base : base_limit; end record; type trait_array is array (codex) of information; type sprite_array is array (codex) of core.sprite; type value_array is array (codex) of base_limit; ------------------------------------------------------------------------------------------ sprite : sprite_array; count : constant natural := codex'pos (codex'last) + 1; trait : constant trait_array := ( ("Archery ", 0), ("Offense ", 0), ("Armourer ", 0), ("Resistance ", 0), ("Tactics ", 0), ("First Aid ", 0), ("Logistics ", 0), ("Path Finding ", 0), ("Navigation ", 0), ("Scouting ", 0), ("Leadership ", 0), ("Scholar ", 0), ("Fire Magic ", 0), ("Water Magic ", 0), ("Air Magic ", 0), ("Earth Magic ", 0), ("Mysticism ", 0), ("Necromancy ", 0), ("Sorcery ", 0), ("Wisdom ", 0), ("Intelligence ", 0), ("Learning ", 0), ("Diplomacy ", 0), ("Estates ", 0) ); ------------------------------------------------------------------------------------------ procedure configure; procedure draw (index : in codex; x, y : in integer); procedure menu (x, y : in integer; center : in boolean); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end skill;