xhads/source/skill.ads
2024-04-23 15:38:51 -04:00

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;