Prototype game engine for Heroes of Might & Magic, featuring a gameplay plot-twist...
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
3.8KB

  1. -- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
  2. --
  3. -- GNU General Public Licence (version 3 or later)
  4. with core;
  5. use core;
  6. package skill is
  7. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  8. type enumeration is (
  9. alchemy, archery, architecture, athletics, diplomacy, estates,
  10. exploration, leadership, logistics, medicine, mercantile, mysticism,
  11. necromancy, resistance, skirmish, sorcery, tactics, thaumaturgy
  12. );
  13. ------------------------------------------------------------------------------------------
  14. type definition is record
  15. base : core.point;
  16. name : core.unstring;
  17. text : core.unstring;
  18. end record;
  19. type points is array (enumeration) of core.point;
  20. type bonus is array (enumeration) of natural;
  21. ------------------------------------------------------------------------------------------
  22. count : constant natural := enumeration'pos (enumeration'last) + 1;
  23. default : constant points := (others => (0, 24));
  24. description : constant array (enumeration) of definition := (
  25. alchemy => ((0, 24), +("Alchemy"), +("Alchemy skill determines effectiveness of your vials and potions.")),
  26. archery => ((0, 24), +("Archery"), +("Archery skill determines effectiveness and range or your archers.")),
  27. architecture => ((0, 24), +("Architecture"), +("Architecture decreases time spent on building constructions.")),
  28. athletics => ((0, 24), +("Athletics"), +("Athletics increases movement speed of all your units, since they train.")),
  29. diplomacy => ((0, 24), +("Diplomacy"), +("Diplomacy helps you to avoid starting a battle you can't win.")),
  30. estates => ((0, 24), +("Estates"), +("Estates makes you the ultimate crypto-bro, establishing a blockchain.")),
  31. exploration => ((0, 24), +("Exploration"), +("Exploration is quite self-explanatory by its' name, seriously.")),
  32. leadership => ((0, 24), +("Leadership"), +("Leadership is the default skill for any true chad, like God intended.")),
  33. logistics => ((0, 24), +("Logistics"), +("Logistics is a nightmare in real life, but this is only a game.")),
  34. medicine => ((0, 24), +("Medicine"), +("Medicine skill makes you swallow pills like a kid in a drugstore.")),
  35. mercantile => ((0, 24), +("Mercantile"), +("Mercantile is the skill of any true-born nosy person, otherwise useless.")),
  36. mysticism => ((0, 24), +("Mysticism"), +("Mysticism allows you to have 60 cats, drink wine and talk weird.")),
  37. necromancy => ((0, 24), +("Necromancy"), +("Necromancy lets you not to waste the bones after every battle.")),
  38. resistance => ((0, 24), +("Resistence"), +("Resistence skill increases defense points of all your units slightly.")),
  39. skirmish => ((0, 24), +("Skirmish"), +("Skirmish makes your units go berserk when they have little health left.")),
  40. sorcery => ((0, 24), +("Sorcery"), +("Sorcery skill is appropriately named useless skill to have in real life.")),
  41. tactics => ((0, 24), +("Tactics"), +("Tactics is the opposite of skirmish, master it and lose in every battle.")),
  42. thaumaturgy => ((0, 24), +("Thaumaturgy"), +("Thaumaturgy lets you do nothing, and hope that the best will happen."))
  43. );
  44. icon : array (enumeration) of core.sprite;
  45. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  46. end skill;