NumericConstants.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * NumericConstants.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. VCMI_LIB_NAMESPACE_BEGIN
  12. namespace GameConstants
  13. {
  14. DLL_LINKAGE extern const std::string VCMI_VERSION;
  15. constexpr int PUZZLE_MAP_PIECES = 48;
  16. constexpr int MAX_HEROES_PER_PLAYER = 8;
  17. constexpr int AVAILABLE_HEROES_PER_PLAYER = 2;
  18. constexpr int ALL_PLAYERS = 255; //bitfield
  19. constexpr int CREATURES_PER_TOWN = 8; //without upgrades
  20. constexpr int SPELL_LEVELS = 5;
  21. constexpr int SPELL_SCHOOL_LEVELS = 4;
  22. constexpr int CRE_LEVELS = 10; // number of creature experience levels
  23. constexpr int HERO_GOLD_COST = 2500;
  24. constexpr int SPELLBOOK_GOLD_COST = 500;
  25. constexpr int SKILL_GOLD_COST = 2000;
  26. constexpr int BATTLE_SHOOTING_PENALTY_DISTANCE = 10; //if the distance is > than this, then shooting stack has distance penalty
  27. constexpr int BATTLE_SHOOTING_RANGE_DISTANCE = std::numeric_limits<uint8_t>::max(); // used when shooting stack has no shooting range limit
  28. constexpr int ARMY_SIZE = 7;
  29. constexpr ui32 HERO_HIGH_LEVEL = 10; // affects primary skill upgrade order
  30. constexpr int SKILL_QUANTITY=28;
  31. constexpr int PRIMARY_SKILLS=4;
  32. constexpr int RESOURCE_QUANTITY=7;
  33. constexpr int HEROES_PER_TYPE=8; //amount of heroes of each type
  34. // amounts of OH3 objects. Can be changed by mods, should be used only during H3 loading phase
  35. constexpr int F_NUMBER = 9;
  36. constexpr int ARTIFACTS_QUANTITY=171;
  37. constexpr int HEROES_QUANTITY=156;
  38. constexpr int SPELLS_QUANTITY=70;
  39. constexpr int CREATURES_COUNT = 197;
  40. constexpr int64_t PLAYER_RESOURCES_CAP = 1000 * 1000 * 1000;
  41. constexpr int ALTAR_ARTIFACTS_SLOTS = 22;
  42. constexpr int TOURNAMENT_RULES_DD_MAP_TILES_THRESHOLD = 144*144*2; //map tiles count threshold for 2 dimension door casts with tournament rules
  43. constexpr int KINGDOM_WINDOW_HEROES_SLOTS = 4;
  44. constexpr int INFO_WINDOW_ARTIFACTS_MAX_ITEMS = 14;
  45. constexpr int FULL_MAP_RANGE = std::numeric_limits<int>::max();
  46. }
  47. VCMI_LIB_NAMESPACE_END