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

Merge branch 'vcmi/beta' into 'vcmi/develop'

This commit is contained in:
Ivan Savenko
2025-04-13 18:53:54 +03:00
34 changed files with 676 additions and 362 deletions

View File

@@ -1623,13 +1623,19 @@ void RebalanceStacks::applyGs(CGameState *gs)
{
if(auto dstArt = dstStack->getArt(ArtifactPosition::CREATURE_SLOT))
{
auto dstSlot = ArtifactUtils::getArtBackpackPosition(srcHero, dstArt->getTypeId());
if(srcHero && dstSlot != ArtifactPosition::PRE_FIRST)
bool artifactIsLost = true;
if(srcHero)
{
gs->getMap().moveArtifactInstance(*dstStack, ArtifactPosition::CREATURE_SLOT, *srcHero, dstSlot);
auto dstSlot = ArtifactUtils::getArtBackpackPosition(srcHero, dstArt->getTypeId());
if (dstSlot != ArtifactPosition::PRE_FIRST)
{
gs->getMap().moveArtifactInstance(*dstStack, ArtifactPosition::CREATURE_SLOT, *srcHero, dstSlot);
artifactIsLost = false;
}
}
//else - artifact can be lost :/
else
if (artifactIsLost)
{
BulkEraseArtifacts ea;
ea.artHolder = dstHero->id;