xhads/source/skill.ads

61 lines
3.9 KiB
Ada

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
with core;
package skill is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type enumeration is (
alchemy, archery, architecture, athletics, diplomacy, estates,
exploration, leadership, logistics, medicine, mercantile, mysticism,
necromancy, resistance, skirmish, sorcery, tactics, thaumaturgy
);
------------------------------------------------------------------------------------------
type information is record
name : core.short_string;
base : natural;
text : core.long_string;
end record;
type points is array (enumeration) of natural;
------------------------------------------------------------------------------------------
count : constant natural := enumeration'pos (enumeration'last) + 1;
trait : constant array (enumeration) of information := (
alchemy => ("Alchemy ", 0, "Alchemy skill determines effectiveness of your vials and potions. "),
archery => ("Archery ", 0, "Archery skill determines effectiveness and range or your archers. "),
architecture => ("Architecture ", 0, "Architecture decreases time spent on building constructions. "),
athletics => ("Athletics ", 0, "Athletics increases movement speed of all your units, since they train. "),
diplomacy => ("Diplomacy ", 0, "Diplomacy helps you to avoid starting a battle you can't win. "),
estates => ("Estates ", 0, "Estates makes you the ultimate crypto-bro, establishing a blockchain. "),
exploration => ("Exploration ", 0, "Exploration is quite self-explanatory... "),
leadership => ("Leadership ", 0, "Leadership is the default skill for any true chad, like God intended. "),
logistics => ("Logistics ", 0, "Logistics is a nightmare in real life, but this is only a game. "),
medicine => ("Medicine ", 0, "Medicine skill makes you swallow pills like a kid in a drugstore. "),
mercantile => ("Mercantile ", 0, "Mercantile is the skill of any true-born nosy person, otherwise useless."),
mysticism => ("Mysticism ", 0, "Mysticism allows you to have 60 cats, drink wine and talk weird. "),
necromancy => ("Necromancy ", 0, "Necromancy lets you not to waste the bones after every battle. "),
resistance => ("Resistence ", 0, "Resistence skill increases defense points of all your units slightly. "),
skirmish => ("Skirmish ", 0, "Skirmish makes your units go berserk when they have little health left. "),
sorcery => ("Sorcery ", 0, "Sorcery skill is appropriately named useless skill to have in real life."),
tactics => ("Tactics ", 0, "Tactics is the opposite of skirmish, master it and lose in every battle."),
thaumaturgy => ("Thaumaturgy ", 0, "Thaumaturgy lets you do nothing, and hope that the best will happen. ")
);
------------------------------------------------------------------------------------------
procedure configure;
procedure draw_points (data : in points; x, y : in integer);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end skill;