1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

fix assertion

This commit is contained in:
Andrii Danylchenko
2022-12-18 12:28:30 +02:00
parent c55178e876
commit 1555c51313

View File

@@ -1171,9 +1171,22 @@ DLL_LINKAGE void AssembledArtifact::applyGs(CGameState *gs)
const CArtifactInstance *transformedArt = al.getArt();
assert(transformedArt);
bool combineEquipped = !ArtifactUtils::isSlotBackpack(al.slot);
assert(vstd::contains(transformedArt->assemblyPossibilities(artSet, combineEquipped), builtArt));
assert(vstd::contains_if(transformedArt->assemblyPossibilities(artSet, combineEquipped), [=](const CArtifact * art)->bool
{
return art->id == builtArt->id;
}));
UNUSED(transformedArt);
if(!vstd::contains_if(transformedArt->assemblyPossibilities(artSet, combineEquipped), [=](const CArtifact * art)->bool
{
return art->id == builtArt->id;
}))
{
throw std::exception("Bad");
}
auto combinedArt = new CCombinedArtifactInstance(builtArt);
gs->map->addNewArtifactInstance(combinedArt);
// Retrieve all constituents