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 .. 3; subtype level_limit is natural range 0 .. 3; type information is record name : core.short_string; base : base_limit; level : level_limit; end record; type trait_array is array (codex) of information; type sprite_array is array (codex) of core.sprite; ------------------------------------------------------------------------------------------ icon : sprite_array; trait : constant trait_array := ( ("Archery ", 0, 0), ("Offense ", 0, 0), ("Armourer ", 0, 0), ("Resistance ", 0, 0), ("Tactics ", 0, 0), ("First Aid ", 0, 0), ("Logistics ", 0, 0), ("Path Finding ", 0, 0), ("Navigation ", 0, 0), ("Scouting ", 0, 0), ("Leadership ", 0, 0), ("Scholar ", 0, 0), ("Fire Magic ", 0, 0), ("Water Magic ", 0, 0), ("Air Magic ", 0, 0), ("Earth Magic ", 0, 0), ("Mysticism ", 0, 0), ("Necromancy ", 0, 0), ("Sorcery ", 0, 0), ("Wisdom ", 0, 0), ("Intelligence ", 0, 0), ("Learning ", 0, 0), ("Diplomacy ", 0, 0), ("Estates ", 0, 0) ); ------------------------------------------------------------------------------------------ procedure configure; procedure draw (index : in codex; x, y : in integer); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end skill;