-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core; use 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 definition is record base : core.point; name : core.unstring; text : core.unstring; end record; type points is array (enumeration) of core.point; type bonus is array (enumeration) of natural; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; default : constant points := (others => (0, 24)); 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; ------------------------------------------------------------------------------------------ procedure draw_points (data : in points := (others => (0, 0)); x : in integer := 0; y : in integer := 0); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end skill;