xhads/source/magic.ads

67 lines
2.5 KiB
Ada
Raw Normal View History

-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
--
-- GNU General Public Licence (version 3 or later)
2024-02-15 21:03:09 -05:00
with core, effect;
package magic is
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
type school is (
2024-05-02 20:43:31 -04:00
air, dark, earth, fire, light, water
2024-02-15 21:03:09 -05:00
);
type enumeration is (
2024-02-15 21:03:09 -05:00
-- Air
2024-05-02 20:43:31 -04:00
arrow_storm,
2024-02-15 21:03:09 -05:00
-- Dark
2024-05-02 20:43:31 -04:00
torment,
2024-02-15 21:03:09 -05:00
-- Earth
2024-05-02 20:43:31 -04:00
stone_armour,
2024-02-15 21:03:09 -05:00
-- Fire
2024-05-02 20:43:31 -04:00
fireball,
2024-02-15 21:03:09 -05:00
-- Light
2024-05-02 20:43:31 -04:00
heal,
2024-02-15 21:03:09 -05:00
-- Water
2024-05-02 20:43:31 -04:00
ice_armour
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
subtype level_limit is natural range 0 .. 6;
type information is record
2024-02-15 21:03:09 -05:00
name : core.short_string;
kind : school;
level : level_limit;
evoke : effect.enumeration;
2024-03-13 19:34:55 -04:00
text : core.long_string;
2024-02-15 21:03:09 -05:00
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. ")
2024-02-15 21:03:09 -05:00
);
------------------------------------------------------------------------------------------
procedure configure;
procedure icon (index : in enumeration; x, y : in integer);
procedure view (index : in enumeration; x, y : in integer);
2024-03-11 16:47:28 -04:00
procedure menu (x, y : in integer; center : in boolean);
2024-02-15 21:03:09 -05:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end magic;