-- 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 definition is record name : access string; kind : school; level : level_limit; evoke : effect.information; text : access string; end record; ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; description : constant array (enumeration) of definition := ( arrow_storm => (new string' ("Arrow Storm"), air, 1, effect.none, new string' ("Arrow Storm increases the range of your ranged units.")), torment => (new string' ("Torment"), dark, 1, effect.none, new string' ("Torment causes targeted friend or foe to feel pain and shit.")), stone_armour => (new string' ("Stone Armour"), earth, 1, effect.none, new string' ("Stone Armour increases defense of selected unit.")), fireball => (new string' ("Fireball"), fire, 1, effect.none, new string' ("Fireball conjures a literal ball of fire that flies go brr.")), heal => (new string' ("Heal"), light, 1, effect.none, new string' ("Heal does what it says it will do, keeps the promise.")), ice_armour => (new string' ("Ice Armour"), water, 1, effect.none, new string' ("Ice Armour increases defense and stamina of selected unit.")) ); view_width : constant natural := 64; view_height : constant natural := 64; view : array (enumeration) of core.sprite; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end magic;