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.

47 linhas
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 definition 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. description : constant array (enumeration) of definition := (
  21. fairy => ("Fairy Kingdom ", attribute.speed, skill.mysticism, resource.gold),
  22. dwarf => ("Dwarf Kingdom ", attribute.defense, skill.estates, resource.stone),
  23. gnoll => ("Gnoll Kingdom ", attribute.stamina, skill.logistics, resource.leather),
  24. kobold => ("Kobold Kingdom ", attribute.offense, skill.tactics, resource.metal),
  25. goblin => ("Goblin Kingdom ", attribute.reach, skill.exploration, resource.wood),
  26. imp => ("Imp Kingdom ", attribute.wisdom, skill.sorcery, resource.gem),
  27. human => ("Fallen Human Empire ", attribute.wisdom, skill.estates, resource.gold),
  28. elf => ("Fallen Elf Empire ", attribute.wisdom, skill.estates, resource.gold),
  29. orc => ("Fallen Orc Empire ", attribute.wisdom, skill.estates, resource.gold),
  30. neutral => ("Neutral ", attribute.offense, skill.archery, resource.gold)
  31. );
  32. sprite : array (enumeration) of core.sprite;
  33. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  34. end faction;