Prototype game engine for Heroes of Might & Magic, featuring a gameplay plot-twist...
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

66 satır
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.value;
  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 draw (index : in enumeration; x, y : in integer);
  46. procedure menu (x, y : in integer; center : in boolean);
  47. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  48. end magic;