2023-10-21 13:50:42 +02:00
|
|
|
/*
|
|
|
|
* BonusCustomTypes.h, part of VCMI engine
|
|
|
|
*
|
|
|
|
* Authors: listed in file AUTHORS in main folder
|
|
|
|
*
|
|
|
|
* License: GNU General Public License v2.0 or later
|
|
|
|
* Full text of license available in license.txt file, in main folder
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "../constants/EntityIdentifiers.h"
|
|
|
|
|
|
|
|
VCMI_LIB_NAMESPACE_BEGIN
|
|
|
|
|
2023-11-17 00:48:55 +02:00
|
|
|
class DLL_LINKAGE BonusCustomSource : public StaticIdentifier<BonusCustomSource>
|
2023-10-21 13:50:42 +02:00
|
|
|
{
|
|
|
|
public:
|
2023-11-17 00:48:55 +02:00
|
|
|
using StaticIdentifier<BonusCustomSource>::StaticIdentifier;
|
2023-10-21 13:50:42 +02:00
|
|
|
|
|
|
|
static std::string encode(int32_t index);
|
|
|
|
static si32 decode(const std::string & identifier);
|
|
|
|
|
|
|
|
static const BonusCustomSource undeadMoraleDebuff; // -2
|
|
|
|
};
|
|
|
|
|
2023-11-17 00:48:55 +02:00
|
|
|
class DLL_LINKAGE BonusCustomSubtype : public StaticIdentifier<BonusCustomSubtype>
|
2023-10-21 13:50:42 +02:00
|
|
|
{
|
|
|
|
public:
|
2023-11-17 00:48:55 +02:00
|
|
|
using StaticIdentifier<BonusCustomSubtype>::StaticIdentifier;
|
2023-10-21 13:50:42 +02:00
|
|
|
|
|
|
|
static std::string encode(int32_t index);
|
|
|
|
static si32 decode(const std::string & identifier);
|
|
|
|
|
|
|
|
static const BonusCustomSubtype creatureDamageBoth; // 0
|
|
|
|
static const BonusCustomSubtype creatureDamageMin; // 1
|
|
|
|
static const BonusCustomSubtype creatureDamageMax; // 2
|
|
|
|
|
|
|
|
static const BonusCustomSubtype damageTypeAll; // -1
|
|
|
|
static const BonusCustomSubtype damageTypeMelee; // 0
|
|
|
|
static const BonusCustomSubtype damageTypeRanged; // 1
|
|
|
|
|
|
|
|
static const BonusCustomSubtype heroMovementLand; // 1
|
|
|
|
static const BonusCustomSubtype heroMovementSea; // 0
|
|
|
|
|
|
|
|
static const BonusCustomSubtype deathStareGorgon; // 0
|
|
|
|
static const BonusCustomSubtype deathStareCommander;
|
2024-01-13 15:55:07 +02:00
|
|
|
static const BonusCustomSubtype deathStareNoRangePenalty;
|
|
|
|
static const BonusCustomSubtype deathStareRangePenalty;
|
|
|
|
static const BonusCustomSubtype deathStareObstaclePenalty;
|
|
|
|
static const BonusCustomSubtype deathStareRangeObstaclePenalty;
|
2023-10-21 13:50:42 +02:00
|
|
|
|
|
|
|
static const BonusCustomSubtype rebirthRegular; // 0
|
|
|
|
static const BonusCustomSubtype rebirthSpecial; // 1
|
|
|
|
|
|
|
|
static const BonusCustomSubtype visionsMonsters; // 0
|
|
|
|
static const BonusCustomSubtype visionsHeroes; // 1
|
|
|
|
static const BonusCustomSubtype visionsTowns; // 2
|
|
|
|
|
|
|
|
static const BonusCustomSubtype immunityBattleWide; // 0
|
|
|
|
static const BonusCustomSubtype immunityEnemyHero; // 1
|
|
|
|
|
|
|
|
static const BonusCustomSubtype transmutationPerHealth; // 0
|
|
|
|
static const BonusCustomSubtype transmutationPerUnit; // 1
|
|
|
|
|
|
|
|
static const BonusCustomSubtype destructionKillPercentage; // 0
|
|
|
|
static const BonusCustomSubtype destructionKillAmount; // 1
|
|
|
|
|
|
|
|
static const BonusCustomSubtype soulStealPermanent; // 0
|
|
|
|
static const BonusCustomSubtype soulStealBattle; // 1
|
|
|
|
|
|
|
|
static const BonusCustomSubtype movementFlying; // 0
|
|
|
|
static const BonusCustomSubtype movementTeleporting; // 1
|
|
|
|
|
|
|
|
static BonusCustomSubtype spellLevel(int level);
|
|
|
|
static BonusCustomSubtype creatureLevel(int level);
|
|
|
|
};
|
|
|
|
|
|
|
|
VCMI_LIB_NAMESPACE_END
|