Prototype game engine for Heroes of Might & Magic, featuring a gameplay plot-twist...
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

67 linhas
2.5KB

  1. -- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
  2. --
  3. -- GNU General Public Licence (version 3 or later)
  4. with core, effect;
  5. package magic is
  6. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  7. type school is (
  8. air, dark, earth, fire, light, water
  9. );
  10. type enumeration is (
  11. -- Air
  12. arrow_storm,
  13. -- Dark
  14. torment,
  15. -- Earth
  16. stone_armour,
  17. -- Fire
  18. fireball,
  19. -- Light
  20. heal,
  21. -- Water
  22. ice_armour
  23. );
  24. ------------------------------------------------------------------------------------------
  25. subtype level_limit is natural range 0 .. 6;
  26. type information is record
  27. name : core.short_string;
  28. kind : school;
  29. level : level_limit;
  30. evoke : effect.enumeration;
  31. text : core.long_string;
  32. end record;
  33. ------------------------------------------------------------------------------------------
  34. count : constant natural := enumeration'pos (enumeration'last) + 1;
  35. trait : constant array (enumeration) of information := (
  36. ("Arrow Storm ", air, 1, effect.none, "Arrow Storm increases the range of your ranged units. "),
  37. ("Torment ", dark, 1, effect.none, "Torment causes targeted friend or foe to feel pain and shit. "),
  38. ("Stone Armour ", earth, 1, effect.none, "Stone Armour increases defense of selected unit. "),
  39. ("Fireball ", fire, 1, effect.none, "Fireball conjures a literal ball of fire that flies go brr. "),
  40. ("Heal ", light, 1, effect.none, "Heal does what it says it will do, keeps the promise. "),
  41. ("Ice Armour ", water, 1, effect.none, "Ice Armour increases defense and stamina of selected unit. ")
  42. );
  43. ------------------------------------------------------------------------------------------
  44. procedure configure;
  45. procedure icon (index : in enumeration; x, y : in integer);
  46. procedure view (index : in enumeration; x, y : in integer);
  47. procedure menu (x, y : in integer; center : in boolean);
  48. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  49. end magic;