mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-21 00:19:29 +02:00
Remove artifact from slot as reward
This commit is contained in:
@ -113,6 +113,12 @@ JsonRandomizationException::JsonRandomizationException(const std::string & messa
|
||||
return loadVariable(IdentifierType::entityType(), value.String(), variables, IdentifierType::NONE);
|
||||
}
|
||||
|
||||
template<>
|
||||
ArtifactPosition JsonRandom::decodeKey(const JsonNode & value, const Variables & variables)
|
||||
{
|
||||
return ArtifactPosition::decode(value.String());
|
||||
}
|
||||
|
||||
template<>
|
||||
PlayerColor JsonRandom::decodeKey(const JsonNode & value, const Variables & variables)
|
||||
{
|
||||
@ -420,6 +426,21 @@ JsonRandomizationException::JsonRandomizationException(const std::string & messa
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::vector<ArtifactPosition> JsonRandom::loadArtifactSlots(const JsonNode & value, vstd::RNG & rng, const Variables & variables)
|
||||
{
|
||||
std::set<ArtifactPosition> allowedSlots;
|
||||
for(ArtifactPosition pos(0); pos < ArtifactPosition::BACKPACK_START; ++pos)
|
||||
allowedSlots.insert(pos);
|
||||
|
||||
std::vector<ArtifactPosition> ret;
|
||||
for (const JsonNode & entry : value.Vector())
|
||||
{
|
||||
std::set<ArtifactPosition> potentialPicks = filterKeys(entry, allowedSlots, variables);
|
||||
ret.push_back(*RandomGeneratorUtil::nextItem(potentialPicks, rng));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
SpellID JsonRandom::loadSpell(const JsonNode & value, vstd::RNG & rng, const Variables & variables)
|
||||
{
|
||||
std::set<SpellID> defaultSpells;
|
||||
|
Reference in New Issue
Block a user