mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-06 09:09:40 +02:00
Implement missing functions, fixes linking errors
This commit is contained in:
@@ -183,6 +183,18 @@ JsonNode Bonus::toJsonNode() const
|
||||
return root;
|
||||
}
|
||||
|
||||
Bonus::Bonus(BonusDuration::Type Duration, BonusType Type, BonusSource Src, si32 Val, ui32 ID)
|
||||
: Bonus(Duration, Type, Src, Val, ID, TBonusSubtype::NONE, std::string())
|
||||
{}
|
||||
|
||||
Bonus::Bonus(BonusDuration::Type Duration, BonusType Type, BonusSource Src, si32 Val, ui32 ID, std::string Desc)
|
||||
: Bonus(Duration, Type, Src, Val, ID, TBonusSubtype::NONE, Desc)
|
||||
{}
|
||||
|
||||
Bonus::Bonus(BonusDuration::Type Duration, BonusType Type, BonusSource Src, si32 Val, ui32 ID, TBonusSubtype Subtype)
|
||||
: Bonus(Duration, Type, Src, Val, ID, Subtype, std::string())
|
||||
{}
|
||||
|
||||
Bonus::Bonus(BonusDuration::Type Duration, BonusType Type, BonusSource Src, si32 Val, ui32 ID, TBonusSubtype Subtype, std::string Desc):
|
||||
duration(Duration),
|
||||
type(Type),
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "BonusEnum.h"
|
||||
#include "../constants/EntityIdentifiers.h"
|
||||
#include "../constants/MetaIdentifier.h"
|
||||
|
||||
VCMI_LIB_NAMESPACE_BEGIN
|
||||
|
||||
@@ -30,50 +30,6 @@ using TLimiterPtr = std::shared_ptr<ILimiter>;
|
||||
using TPropagatorPtr = std::shared_ptr<IPropagator>;
|
||||
using TUpdaterPtr = std::shared_ptr<IUpdater>;
|
||||
|
||||
namespace BonusSubtypes
|
||||
{
|
||||
|
||||
static const TBonusSubtype creatureDamageBoth; // 0
|
||||
static const TBonusSubtype creatureDamageMin; // 1
|
||||
static const TBonusSubtype creatureDamageMax; // 2
|
||||
|
||||
static const TBonusSubtype damageTypeAll; // -1
|
||||
static const TBonusSubtype damageTypeMelee; // 0
|
||||
static const TBonusSubtype damageTypeRanged; // 1
|
||||
|
||||
static const TBonusSubtype heroMovementLand; // 1
|
||||
static const TBonusSubtype heroMovementSea; // 0
|
||||
|
||||
static const TBonusSubtype heroMovementPenalty; // 2
|
||||
static const TBonusSubtype heroMovementFull; // 1
|
||||
|
||||
static const TBonusSubtype deathStareGorgon; // 0
|
||||
static const TBonusSubtype deathStareCommander;
|
||||
|
||||
static const TBonusSubtype rebirthRegular; // 0
|
||||
static const TBonusSubtype rebirthSpecial; // 1
|
||||
|
||||
static const TBonusSubtype visionsMonsters; // 0
|
||||
static const TBonusSubtype visionsHeroes; // 1
|
||||
static const TBonusSubtype visionsTowns; // 2
|
||||
|
||||
static const TBonusSubtype immunityBattleWide; // 0
|
||||
static const TBonusSubtype immunityEnemyHero; // 1
|
||||
|
||||
static const TBonusSubtype transmutationPerHealth; // 0
|
||||
static const TBonusSubtype transmutationPerUnit; // 1
|
||||
|
||||
static const TBonusSubtype destructionKillPercentage; // 0
|
||||
static const TBonusSubtype destructionKillAmount; // 1
|
||||
|
||||
static const TBonusSubtype soulStealPermanent; // 0
|
||||
static const TBonusSubtype soulStealBattle; // 1
|
||||
|
||||
TBonusSubtype spellLevel(int level);
|
||||
TBonusSubtype creatureLevel(int level);
|
||||
|
||||
}
|
||||
|
||||
class DLL_LINKAGE CAddInfo : public std::vector<si32>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "BonusEnum.h"
|
||||
#include "BonusParams.h"
|
||||
#include "BonusSelector.h"
|
||||
#include "BonusSubtypes.h"
|
||||
|
||||
#include "../ResourceSet.h"
|
||||
|
||||
|
||||
56
lib/bonuses/BonusSubtypes.cpp
Normal file
56
lib/bonuses/BonusSubtypes.cpp
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Bonus.cpp, 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
|
||||
*
|
||||
*/
|
||||
|
||||
#include "StdInc.h"
|
||||
#include "BonusSubtypes.h"
|
||||
|
||||
VCMI_LIB_NAMESPACE_BEGIN
|
||||
|
||||
const TBonusSubtype BonusSubtypes::creatureDamageBoth("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::creatureDamageMin("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::creatureDamageMax("", "", 2);
|
||||
const TBonusSubtype BonusSubtypes::damageTypeAll("", "", -1);
|
||||
const TBonusSubtype BonusSubtypes::damageTypeMelee("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::damageTypeRanged("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::heroMovementLand("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::heroMovementSea("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::heroMovementPenalty("", "", 2);
|
||||
const TBonusSubtype BonusSubtypes::heroMovementFull("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::deathStareGorgon("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::deathStareCommander("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::rebirthRegular("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::rebirthSpecial("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::visionsMonsters("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::visionsHeroes("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::visionsTowns("", "", 2);
|
||||
const TBonusSubtype BonusSubtypes::immunityBattleWide("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::immunityEnemyHero("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::transmutationPerHealth("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::transmutationPerUnit("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::destructionKillPercentage("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::destructionKillAmount("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::soulStealPermanent("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::soulStealBattle("", "", 1);
|
||||
const TBonusSubtype BonusSubtypes::movementFlying("", "", 0);
|
||||
const TBonusSubtype BonusSubtypes::movementTeleporting("", "", 1);
|
||||
|
||||
TBonusSubtype BonusSubtypes::spellLevel(int level)
|
||||
{
|
||||
assert(0); //todo
|
||||
return TBonusSubtype();
|
||||
}
|
||||
|
||||
TBonusSubtype BonusSubtypes::creatureLevel(int level)
|
||||
{
|
||||
assert(0); //todo
|
||||
return TBonusSubtype();
|
||||
}
|
||||
|
||||
VCMI_LIB_NAMESPACE_END
|
||||
64
lib/bonuses/BonusSubtypes.h
Normal file
64
lib/bonuses/BonusSubtypes.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* BonusSubtypes.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/MetaIdentifier.h"
|
||||
|
||||
VCMI_LIB_NAMESPACE_BEGIN
|
||||
|
||||
using TBonusSubtype = MetaIdentifier;
|
||||
|
||||
class DLL_LINKAGE BonusSubtypes
|
||||
{
|
||||
public:
|
||||
static const TBonusSubtype creatureDamageBoth; // 0
|
||||
static const TBonusSubtype creatureDamageMin; // 1
|
||||
static const TBonusSubtype creatureDamageMax; // 2
|
||||
|
||||
static const TBonusSubtype damageTypeAll; // -1
|
||||
static const TBonusSubtype damageTypeMelee; // 0
|
||||
static const TBonusSubtype damageTypeRanged; // 1
|
||||
|
||||
static const TBonusSubtype heroMovementLand; // 1
|
||||
static const TBonusSubtype heroMovementSea; // 0
|
||||
|
||||
static const TBonusSubtype heroMovementPenalty; // 2
|
||||
static const TBonusSubtype heroMovementFull; // 1
|
||||
|
||||
static const TBonusSubtype deathStareGorgon; // 0
|
||||
static const TBonusSubtype deathStareCommander;
|
||||
|
||||
static const TBonusSubtype rebirthRegular; // 0
|
||||
static const TBonusSubtype rebirthSpecial; // 1
|
||||
|
||||
static const TBonusSubtype visionsMonsters; // 0
|
||||
static const TBonusSubtype visionsHeroes; // 1
|
||||
static const TBonusSubtype visionsTowns; // 2
|
||||
|
||||
static const TBonusSubtype immunityBattleWide; // 0
|
||||
static const TBonusSubtype immunityEnemyHero; // 1
|
||||
|
||||
static const TBonusSubtype transmutationPerHealth; // 0
|
||||
static const TBonusSubtype transmutationPerUnit; // 1
|
||||
|
||||
static const TBonusSubtype destructionKillPercentage; // 0
|
||||
static const TBonusSubtype destructionKillAmount; // 1
|
||||
|
||||
static const TBonusSubtype soulStealPermanent; // 0
|
||||
static const TBonusSubtype soulStealBattle; // 1
|
||||
|
||||
static const TBonusSubtype movementFlying; // 0
|
||||
static const TBonusSubtype movementTeleporting; // 1
|
||||
|
||||
static TBonusSubtype spellLevel(int level);
|
||||
static TBonusSubtype creatureLevel(int level);
|
||||
};
|
||||
|
||||
VCMI_LIB_NAMESPACE_END
|
||||
Reference in New Issue
Block a user