74 lines
5.0 KiB
Ada
74 lines
5.0 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 (
|
|
none,
|
|
alchemy, archery, architecture, athletics, diplomacy, estates,
|
|
exploration, leadership, logistics, medicine, mercantile, mysticism,
|
|
necromancy, resistance, skirmish, sorcery, tactics, thaumaturgy,
|
|
pyrokinesis, hydrokinesis, aerokinesis, khousokinesis, phosokinesis, eremnokinesis
|
|
);
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
type definition is record
|
|
name : access string := new string'("--");
|
|
text : access string := new string'("--");
|
|
end record;
|
|
|
|
type point is record
|
|
index : enumeration := enumeration'first;
|
|
value : natural := 0;
|
|
limit : natural := 0;
|
|
end record;
|
|
|
|
subtype limit is natural range 0 .. 7;
|
|
|
|
type points is array (limit) of point;
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
count : constant natural := enumeration'pos (enumeration'last) + 1;
|
|
|
|
description : constant array (enumeration) of definition := (
|
|
none => (others => <>),
|
|
--
|
|
alchemy => (new string'("Alchemy"), new string'("Alchemy skill determines effectiveness of your vials and potions.")),
|
|
archery => (new string'("Archery"), new string'("Archery skill determines effectiveness and range or your archers.")),
|
|
architecture => (new string'("Architecture"), new string'("Architecture decreases time spent on building constructions.")),
|
|
athletics => (new string'("Athletics"), new string'("Athletics increases movement speed of all your units, since they train.")),
|
|
diplomacy => (new string'("Diplomacy"), new string'("Diplomacy helps you to avoid starting a battle you can't win.")),
|
|
estates => (new string'("Estates"), new string'("Estates makes you the ultimate crypto-bro, establishing a blockchain.")),
|
|
exploration => (new string'("Exploration"), new string'("Exploration is quite self-explanatory by its' name, seriously.")),
|
|
leadership => (new string'("Leadership"), new string'("Leadership is the default skill for any true chad, like God intended.")),
|
|
logistics => (new string'("Logistics"), new string'("Logistics is a nightmare in real life, but this is only a game.")),
|
|
medicine => (new string'("Medicine"), new string'("Medicine skill makes you swallow pills like a kid in a drugstore.")),
|
|
mercantile => (new string'("Mercantile"), new string'("Mercantile is the skill of any true-born nosy person, otherwise useless.")),
|
|
mysticism => (new string'("Mysticism"), new string'("Mysticism allows you to have 60 cats, drink wine and talk weird.")),
|
|
necromancy => (new string'("Necromancy"), new string'("Necromancy lets you not to waste the bones after every battle.")),
|
|
resistance => (new string'("Resistence"), new string'("Resistence skill increases defense points of all your units slightly.")),
|
|
skirmish => (new string'("Skirmish"), new string'("Skirmish makes your units go berserk when they have little health left.")),
|
|
sorcery => (new string'("Sorcery"), new string'("Sorcery skill is appropriately named useless skill to have in real life.")),
|
|
tactics => (new string'("Tactics"), new string'("Tactics is the opposite of skirmish, master it and lose in every battle.")),
|
|
thaumaturgy => (new string'("Thaumaturgy"), new string'("Thaumaturgy lets you do nothing, and hope that the best will happen.")),
|
|
pyrokinesis => (new string'("Pyrokinesis"), new string'("Pyrokinesis helps you to start fire quicker while cooking pork in camp.")),
|
|
hydrokinesis => (new string'("Hydrokinesis"), new string'("Hydrokinesis skill is for people who really like to drink water.")),
|
|
aerokinesis => (new string'("Aerokinesis"), new string'("Aerokinesis lets you fly, summon winds and then fall down.")),
|
|
khousokinesis => (new string'("Khousokinesis"), new string'("Khousokinesis is an essential skill for any proper farmer here.")),
|
|
phosokinesis => (new string'("Phosokinesis"), new string'("Phosokinesis allows you to bend the light and summon flying lamps.")),
|
|
eremnokinesis => (new string'("Eremnokinesis"), new string'("Eremnokinesis skill is for lonely, sad and depressed people only."))
|
|
);
|
|
|
|
icon : array (enumeration) of core.sprite;
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
end skill;
|