mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-26 22:57:00 +02:00
Rewardables will use per-object name, if available
This commit is contained in:
parent
e652b3eef0
commit
508d68f77c
@ -16,6 +16,7 @@
|
|||||||
#include "../CModHandler.h"
|
#include "../CModHandler.h"
|
||||||
#include "JsonRandom.h"
|
#include "JsonRandom.h"
|
||||||
#include "../IGameCallback.h"
|
#include "../IGameCallback.h"
|
||||||
|
#include "../CGeneralTextHandler.h"
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_BEGIN
|
VCMI_LIB_NAMESPACE_BEGIN
|
||||||
|
|
||||||
@ -307,9 +308,22 @@ bool CRandomRewardObjectInfo::givesBonuses() const
|
|||||||
return testForKey(parameters, "bonuses");
|
return testForKey(parameters, "bonuses");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const JsonNode & CRandomRewardObjectInfo::getParameters() const
|
||||||
|
{
|
||||||
|
return parameters;
|
||||||
|
}
|
||||||
|
|
||||||
void CRewardableConstructor::initTypeData(const JsonNode & config)
|
void CRewardableConstructor::initTypeData(const JsonNode & config)
|
||||||
{
|
{
|
||||||
objectInfo.init(config);
|
objectInfo.init(config);
|
||||||
|
|
||||||
|
if (!config["name"].isNull())
|
||||||
|
VLC->generaltexth->registerString( config.meta, getNameTextID(), config["name"].String());
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CRewardableConstructor::hasNameTextID() const
|
||||||
|
{
|
||||||
|
return !objectInfo.getParameters()["name"].isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
CGObjectInstance * CRewardableConstructor::create(std::shared_ptr<const ObjectTemplate> tmpl) const
|
CGObjectInstance * CRewardableConstructor::create(std::shared_ptr<const ObjectTemplate> tmpl) const
|
||||||
|
@ -28,6 +28,8 @@ class DLL_LINKAGE CRandomRewardObjectInfo : public IObjectInfo
|
|||||||
void configureReward(CRewardableObject * object, CRandomGenerator & rng, CRewardInfo & info, const JsonNode & source) const;
|
void configureReward(CRewardableObject * object, CRandomGenerator & rng, CRewardInfo & info, const JsonNode & source) const;
|
||||||
void configureResetInfo(CRewardableObject * object, CRandomGenerator & rng, CRewardResetInfo & info, const JsonNode & source) const;
|
void configureResetInfo(CRewardableObject * object, CRandomGenerator & rng, CRewardResetInfo & info, const JsonNode & source) const;
|
||||||
public:
|
public:
|
||||||
|
const JsonNode & getParameters() const;
|
||||||
|
|
||||||
bool givesResources() const override;
|
bool givesResources() const override;
|
||||||
|
|
||||||
bool givesExperience() const override;
|
bool givesExperience() const override;
|
||||||
@ -60,6 +62,8 @@ class DLL_LINKAGE CRewardableConstructor : public AObjectTypeHandler
|
|||||||
void initTypeData(const JsonNode & config) override;
|
void initTypeData(const JsonNode & config) override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
bool hasNameTextID() const override;
|
||||||
|
|
||||||
CGObjectInstance * create(std::shared_ptr<const ObjectTemplate> tmpl = nullptr) const override;
|
CGObjectInstance * create(std::shared_ptr<const ObjectTemplate> tmpl = nullptr) const override;
|
||||||
|
|
||||||
void configureObject(CGObjectInstance * object, CRandomGenerator & rng) const override;
|
void configureObject(CGObjectInstance * object, CRandomGenerator & rng) const override;
|
||||||
|
Loading…
Reference in New Issue
Block a user