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