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;
|
2024-06-02 07:02:36 -04:00
|
|
|
use core;
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
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-06-01 11:46:17 -04:00
|
|
|
type definition is record
|
2024-05-23 04:44:43 -04:00
|
|
|
base : core.point;
|
2024-05-31 07:14:00 -04:00
|
|
|
name : core.unstring;
|
|
|
|
text : core.unstring;
|
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;
|
|
|
|
|
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-06-01 18:25:10 -04:00
|
|
|
default : constant points := (others => (0, 24));
|
|
|
|
|
2024-06-02 07:02:36 -04:00
|
|
|
description : constant array (enumeration) of definition := (
|
|
|
|
alchemy => ((0, 24), +("Alchemy"), +("Alchemy skill determines effectiveness of your vials and potions.")),
|
|
|
|
archery => ((0, 24), +("Archery"), +("Archery skill determines effectiveness and range or your archers.")),
|
|
|
|
architecture => ((0, 24), +("Architecture"), +("Architecture decreases time spent on building constructions.")),
|
|
|
|
athletics => ((0, 24), +("Athletics"), +("Athletics increases movement speed of all your units, since they train.")),
|
|
|
|
diplomacy => ((0, 24), +("Diplomacy"), +("Diplomacy helps you to avoid starting a battle you can't win.")),
|
|
|
|
estates => ((0, 24), +("Estates"), +("Estates makes you the ultimate crypto-bro, establishing a blockchain.")),
|
|
|
|
exploration => ((0, 24), +("Exploration"), +("Exploration is quite self-explanatory by its' name, seriously.")),
|
|
|
|
leadership => ((0, 24), +("Leadership"), +("Leadership is the default skill for any true chad, like God intended.")),
|
|
|
|
logistics => ((0, 24), +("Logistics"), +("Logistics is a nightmare in real life, but this is only a game.")),
|
|
|
|
medicine => ((0, 24), +("Medicine"), +("Medicine skill makes you swallow pills like a kid in a drugstore.")),
|
|
|
|
mercantile => ((0, 24), +("Mercantile"), +("Mercantile is the skill of any true-born nosy person, otherwise useless.")),
|
|
|
|
mysticism => ((0, 24), +("Mysticism"), +("Mysticism allows you to have 60 cats, drink wine and talk weird.")),
|
|
|
|
necromancy => ((0, 24), +("Necromancy"), +("Necromancy lets you not to waste the bones after every battle.")),
|
|
|
|
resistance => ((0, 24), +("Resistence"), +("Resistence skill increases defense points of all your units slightly.")),
|
|
|
|
skirmish => ((0, 24), +("Skirmish"), +("Skirmish makes your units go berserk when they have little health left.")),
|
|
|
|
sorcery => ((0, 24), +("Sorcery"), +("Sorcery skill is appropriately named useless skill to have in real life.")),
|
|
|
|
tactics => ((0, 24), +("Tactics"), +("Tactics is the opposite of skirmish, master it and lose in every battle.")),
|
|
|
|
thaumaturgy => ((0, 24), +("Thaumaturgy"), +("Thaumaturgy lets you do nothing, and hope that the best will happen."))
|
|
|
|
);
|
|
|
|
|
|
|
|
icon : array (enumeration) of core.sprite;
|
2024-05-29 10:20:35 -04:00
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
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-02-15 21:03:09 -05:00
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end skill;
|