BonusSubtypeID.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * BonusSubtypeID.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. #include "../constants/EntityIdentifiers.h"
  12. VCMI_LIB_NAMESPACE_BEGIN
  13. class DLL_LINKAGE BonusSourceID : public Identifier<BonusSourceID>
  14. {
  15. public:
  16. using Identifier<BonusSourceID>::Identifier;
  17. static std::string encode(int32_t index);
  18. static si32 decode(const std::string & identifier);
  19. static const BonusSourceID undeadMoraleDebuff; // -2
  20. };
  21. class DLL_LINKAGE BonusSubtypeID : public Identifier<BonusSubtypeID>
  22. {
  23. public:
  24. using Identifier<BonusSubtypeID>::Identifier;
  25. static std::string encode(int32_t index);
  26. static si32 decode(const std::string & identifier);
  27. static const BonusSubtypeID creatureDamageBoth; // 0
  28. static const BonusSubtypeID creatureDamageMin; // 1
  29. static const BonusSubtypeID creatureDamageMax; // 2
  30. static const BonusSubtypeID damageTypeAll; // -1
  31. static const BonusSubtypeID damageTypeMelee; // 0
  32. static const BonusSubtypeID damageTypeRanged; // 1
  33. static const BonusSubtypeID heroMovementLand; // 1
  34. static const BonusSubtypeID heroMovementSea; // 0
  35. static const BonusSubtypeID deathStareGorgon; // 0
  36. static const BonusSubtypeID deathStareCommander;
  37. static const BonusSubtypeID rebirthRegular; // 0
  38. static const BonusSubtypeID rebirthSpecial; // 1
  39. static const BonusSubtypeID visionsMonsters; // 0
  40. static const BonusSubtypeID visionsHeroes; // 1
  41. static const BonusSubtypeID visionsTowns; // 2
  42. static const BonusSubtypeID immunityBattleWide; // 0
  43. static const BonusSubtypeID immunityEnemyHero; // 1
  44. static const BonusSubtypeID transmutationPerHealth; // 0
  45. static const BonusSubtypeID transmutationPerUnit; // 1
  46. static const BonusSubtypeID destructionKillPercentage; // 0
  47. static const BonusSubtypeID destructionKillAmount; // 1
  48. static const BonusSubtypeID soulStealPermanent; // 0
  49. static const BonusSubtypeID soulStealBattle; // 1
  50. static const BonusSubtypeID movementFlying; // 0
  51. static const BonusSubtypeID movementTeleporting; // 1
  52. static BonusSubtypeID spellLevel(int level);
  53. static BonusSubtypeID creatureLevel(int level);
  54. };
  55. VCMI_LIB_NAMESPACE_END