Prototype game engine for Heroes of Might & Magic, featuring a gameplay plot-twist...
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

49 lines
2.4KB

  1. -- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
  2. --
  3. -- GNU General Public Licence (version 3 or later)
  4. with core, attribute, skill, resource;
  5. package faction is
  6. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  7. type enumeration is (
  8. fairy, dwarf, gnoll, kobold, goblin, imp,
  9. human, elf, orc, neutral
  10. );
  11. ------------------------------------------------------------------------------------------
  12. type information is record
  13. name : core.short_string;
  14. bonus_attribute : attribute.enumeration;
  15. bonus_skill : skill.enumeration;
  16. bonus_resource : resource.enumeration;
  17. end record;
  18. ------------------------------------------------------------------------------------------
  19. count : constant natural := enumeration'pos (enumeration'last) + 1;
  20. trait : constant array (enumeration) of information := (
  21. ("Fairy Kingdom ", attribute.speed, skill.mysticism, resource.gold),
  22. ("Dwarf Kingdom ", attribute.defense, skill.estates, resource.stone),
  23. ("Gnoll Kingdom ", attribute.stamina, skill.logistics, resource.leather),
  24. ("Kobold Kingdom ", attribute.offense, skill.tactics, resource.metal),
  25. ("Goblin Kingdom ", attribute.reach, skill.exploration, resource.wood),
  26. ("Imp Kingdom ", attribute.wisdom, skill.sorcery, resource.gem),
  27. ("Fallen Human Empire ", attribute.wisdom, skill.estates, resource.gold),
  28. ("Fallen Elf Empire ", attribute.wisdom, skill.estates, resource.gold),
  29. ("Fallen Orc Empire ", attribute.wisdom, skill.estates, resource.gold),
  30. ("Neutral ", attribute.offense, skill.archery, resource.gold)
  31. );
  32. ------------------------------------------------------------------------------------------
  33. procedure draw (value : in enumeration; x, y : in integer);
  34. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  35. end faction;