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