mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Bonus type ARTIFACT_CHARGE
This commit is contained in:
@@ -28,6 +28,8 @@
|
|||||||
"vcmi.adventureMap.movementPointsHeroInfo" : "(Movement points: %REMAINING / %POINTS)",
|
"vcmi.adventureMap.movementPointsHeroInfo" : "(Movement points: %REMAINING / %POINTS)",
|
||||||
"vcmi.adventureMap.replayOpponentTurnNotImplemented" : "Sorry, replay opponent turn is not implemented yet!",
|
"vcmi.adventureMap.replayOpponentTurnNotImplemented" : "Sorry, replay opponent turn is not implemented yet!",
|
||||||
|
|
||||||
|
"vcmi.artifact.charges" : "Charges",
|
||||||
|
|
||||||
"vcmi.bonusSource.artifact" : "Artifact",
|
"vcmi.bonusSource.artifact" : "Artifact",
|
||||||
"vcmi.bonusSource.creature" : "Ability",
|
"vcmi.bonusSource.creature" : "Ability",
|
||||||
"vcmi.bonusSource.spell" : "Spell",
|
"vcmi.bonusSource.spell" : "Spell",
|
||||||
|
|||||||
@@ -271,7 +271,14 @@ void CArtifactsOfHeroBase::setSlotData(ArtPlacePtr artPlace, const ArtifactPosit
|
|||||||
{
|
{
|
||||||
artPlace->lockSlot(slotInfo->locked);
|
artPlace->lockSlot(slotInfo->locked);
|
||||||
artPlace->setArtifact(slotInfo->getArt()->getTypeId(), slotInfo->getArt()->getScrollSpellID());
|
artPlace->setArtifact(slotInfo->getArt()->getTypeId(), slotInfo->getArt()->getScrollSpellID());
|
||||||
if(slotInfo->locked || slotInfo->getArt()->isCombined())
|
if(slotInfo->locked)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const auto curArt = slotInfo->getArt();
|
||||||
|
// If the artifact has charges, add charges information
|
||||||
|
artPlace->addChargesArtInfo(curArt->valOfBonuses(BonusType::ARTIFACT_CHARGE));
|
||||||
|
|
||||||
|
if(curArt->isCombined())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// If the artifact is part of at least one combined artifact, add additional information
|
// If the artifact is part of at least one combined artifact, add additional information
|
||||||
|
|||||||
@@ -263,6 +263,18 @@ void CArtPlace::addCombinedArtInfo(const std::map<const ArtifactID, std::vector<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CArtPlace::addChargesArtInfo(const int charges)
|
||||||
|
{
|
||||||
|
if(charges > 0)
|
||||||
|
{
|
||||||
|
MetaString info;
|
||||||
|
info.appendTextID("vcmi.artifact.charges");
|
||||||
|
info.appendRawString(" %d");
|
||||||
|
info.replaceNumber(charges);
|
||||||
|
text += info.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CSecSkillPlace::CSecSkillPlace(const Point & position, const ImageSize & imageSize, const SecondarySkill & newSkillId, const uint8_t level)
|
CSecSkillPlace::CSecSkillPlace(const Point & position, const ImageSize & imageSize, const SecondarySkill & newSkillId, const uint8_t level)
|
||||||
: CComponentHolder(Rect(position, Point()), Point())
|
: CComponentHolder(Rect(position, Point()), Point())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ public:
|
|||||||
void lockSlot(bool on);
|
void lockSlot(bool on);
|
||||||
bool isLocked() const;
|
bool isLocked() const;
|
||||||
void addCombinedArtInfo(const std::map<const ArtifactID, std::vector<ArtifactID>> & arts);
|
void addCombinedArtInfo(const std::map<const ArtifactID, std::vector<ArtifactID>> & arts);
|
||||||
|
void addChargesArtInfo(const int charges);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ArtifactID artId;
|
ArtifactID artId;
|
||||||
|
|||||||
@@ -1031,10 +1031,16 @@ Increases amount of information available in affected thieves guild (in town or
|
|||||||
|
|
||||||
- val: additional number of 'levels' of information to grant access to
|
- val: additional number of 'levels' of information to grant access to
|
||||||
|
|
||||||
### LEVEL_COUNTER
|
### ARTIFACT_GROWING
|
||||||
|
|
||||||
Internal bonus, do not use
|
Internal bonus, do not use
|
||||||
|
|
||||||
|
### ARTIFACT_CHARGE
|
||||||
|
|
||||||
|
Consumable bonus. Used to perform actions specified by a specific artifact.
|
||||||
|
|
||||||
|
- val: number of charges
|
||||||
|
|
||||||
### DISINTEGRATE
|
### DISINTEGRATE
|
||||||
|
|
||||||
When a unit affected by this bonus dies, no corpse is left behind
|
When a unit affected by this bonus dies, no corpse is left behind
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ class JsonNode;
|
|||||||
#define BONUS_LIST \
|
#define BONUS_LIST \
|
||||||
BONUS_NAME(NONE) \
|
BONUS_NAME(NONE) \
|
||||||
BONUS_NAME(ARTIFACT_GROWING) \
|
BONUS_NAME(ARTIFACT_GROWING) \
|
||||||
|
BONUS_NAME(ARTIFACT_CHARGE) \
|
||||||
BONUS_NAME(MOVEMENT) /*Subtype is 1 - land, 0 - sea*/ \
|
BONUS_NAME(MOVEMENT) /*Subtype is 1 - land, 0 - sea*/ \
|
||||||
BONUS_NAME(MORALE) \
|
BONUS_NAME(MORALE) \
|
||||||
BONUS_NAME(LUCK) \
|
BONUS_NAME(LUCK) \
|
||||||
|
|||||||
Reference in New Issue
Block a user