|
- -- 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 ", air, 1, effect.none, "Arrow Storm increases the range of your ranged units. "),
- ("Torment ", dark, 1, effect.none, "Torment causes targeted friend or foe to feel pain and shit. "),
- ("Stone Armour ", earth, 1, effect.none, "Stone Armour increases defense of selected unit. "),
- ("Fireball ", fire, 1, effect.none, "Fireball conjures a literal ball of fire that flies go brr. "),
- ("Heal ", light, 1, effect.none, "Heal does what it says it will do, keeps the promise. "),
- ("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;
|