diff --git a/src/fheroes2/resource/artifact.cpp b/src/fheroes2/resource/artifact.cpp index 0981a7a309..4cdc6f59dd 100644 --- a/src/fheroes2/resource/artifact.cpp +++ b/src/fheroes2/resource/artifact.cpp @@ -897,24 +897,16 @@ void BagArtifacts::exchangeArtifacts( Heroes & taker, Heroes & giver ) std::vector combined; - for ( Artifact & artifact : takerBag ) { - if ( !artifact.isValid() || artifact.GetID() == Artifact::MAGIC_BOOK ) { - continue; - } + for ( BagArtifacts & bag : std::array, 2>{ takerBag, giverBag } ) { + for ( Artifact & artifact : bag ) { + if ( !artifact.isValid() || artifact.GetID() == Artifact::MAGIC_BOOK ) { + continue; + } - combined.push_back( artifact ); + combined.push_back( artifact ); - artifact.Reset(); - } - - for ( Artifact & artifact : giverBag ) { - if ( !artifact.isValid() || artifact.GetID() == Artifact::MAGIC_BOOK ) { - continue; + artifact.Reset(); } - - combined.push_back( artifact ); - - artifact.Reset(); } const auto isPureCursedArtifact = []( const Artifact & artifact ) {