73 lines
4.5 KiB
Ada
73 lines
4.5 KiB
Ada
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;
|
|
text : core.long_string;
|
|
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, "Improves the effectiveness of ranged attacks. "),
|
|
("Offense ", 0, "Enhances the damage dealt in combat. "),
|
|
("Armourer ", 0, "Better at maintaining and repairing equipment. "),
|
|
("Resistance ", 0, "Provides protection against various types of magic. "),
|
|
("Tactics ", 0, "Enhances tactical decisions in battles. "),
|
|
("First Aid ", 0, "Ability to heal wounded units on the battlefield. "),
|
|
("Logistics ", 0, "Increases movement speed on the map. "),
|
|
("Path Finding ", 0, "Improves travel speed and reduces chances of ambush. "),
|
|
("Navigation ", 0, "Better at traveling by sea, improving sea voyages. "),
|
|
("Scouting ", 0, "Increases visibility range on the map. "),
|
|
("Leadership ", 0, "Allows for the command of larger armies. "),
|
|
("Scholar ", 0, "Improves learning from various sources of knowledge. "),
|
|
("Fire Magic ", 0, "Focuses on spells related to fire elements. "),
|
|
("Water Magic ", 0, "Mastery over spells involving water elements. "),
|
|
("Air Magic ", 0, "Command over spells related to air and wind. "),
|
|
("Earth Magic ", 0, "Manipulation of spells involving earth and nature. "),
|
|
("Mysticism ", 0, "Enhances magical energy and resource management. "),
|
|
("Necromancy ", 0, "Ability to raise and control undead units. "),
|
|
("Sorcery ", 0, "Mastery over a wide range of magical spells. "),
|
|
("Wisdom ", 0, "Increases overall knowledge and understanding. "),
|
|
("Intelligence ", 0, "Enhances magical prowess and spellcasting ability. "),
|
|
("Learning ", 0, "Speeds up the rate of acquiring new skills. "),
|
|
("Diplomacy ", 0, "Improves relationships with other factions. "),
|
|
("Estates ", 0, "Manages and grows your domain, relations and wealth. ")
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
procedure configure;
|
|
|
|
procedure draw (index : in codex; x, y : in integer);
|
|
|
|
procedure menu (x, y : in integer; center : in boolean);
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end skill;
|