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