1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-12-22 00:27:58 +02:00

CMap removed from CArtifactSet level

This commit is contained in:
SoundSSGood
2024-09-04 14:32:47 +03:00
parent 1e0f131d7f
commit b06426ac43
10 changed files with 50 additions and 41 deletions

View File

@@ -519,10 +519,26 @@ void CMap::checkForObjectives()
}
}
void CMap::addNewArtifactInstance(CArtifactSet & artSet)
{
for(const auto & [slot, slotInfo] : artSet.artifactsWorn)
{
if(!slotInfo.locked && slotInfo.getArt())
addNewArtifactInstance(slotInfo.artifact);
}
for(const auto & slotInfo : artSet.artifactsInBackpack)
addNewArtifactInstance(slotInfo.artifact);
}
void CMap::addNewArtifactInstance(ConstTransitivePtr<CArtifactInstance> art)
{
assert(art);
assert(art->getId() == -1);
art->setId(static_cast<ArtifactInstanceID>(artInstances.size()));
artInstances.emplace_back(art);
for(const auto & partInfo : art->getPartsInfo())
addNewArtifactInstance(partInfo.art);
}
void CMap::eraseArtifactInstance(CArtifactInstance * art)