-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic -- -- GNU General Public Licence (version 3 or later) with core, effect; package magic is ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ type school is ( air, dark, earth, fire, light, water ); type enumeration is ( -- Air arrow_storm, -- Dark torment, -- Earth stone_armour, -- Fire fireball, -- Light heal, -- Water ice_armour ); ------------------------------------------------------------------------------------------ subtype level_limit is natural range 0 .. 6; type information is record name : core.short_string; kind : school; level : level_limit; evoke : effect.value; text : core.long_string; end record; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; trait : constant array (enumeration) of information := ( arrow_storm => ("Arrow Storm ", air, 1, effect.none, "Arrow Storm increases the range of your ranged units. "), torment => ("Torment ", dark, 1, effect.none, "Torment causes targeted friend or foe to feel pain and shit. "), stone_armour => ("Stone Armour ", earth, 1, effect.none, "Stone Armour increases defense of selected unit. "), fireball => ("Fireball ", fire, 1, effect.none, "Fireball conjures a literal ball of fire that flies go brr. "), heal => ("Heal ", light, 1, effect.none, "Heal does what it says it will do, keeps the promise. "), ice_armour => ("Ice Armour ", water, 1, effect.none, "Ice Armour increases defense and stamina of selected unit. ") ); ------------------------------------------------------------------------------------------ procedure configure; procedure draw (index : in enumeration; x, y : in integer); procedure menu (x, y : in integer; center : in boolean); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end magic;