2
0
SoundSSGood 2 жил өмнө
parent
commit
213eda5e1e

+ 6 - 3
client/windows/CTradeWindow.cpp

@@ -1262,11 +1262,14 @@ void CAltarWindow::SacrificeAll()
 	}
 	else
 	{
-		for(const auto & aw : arts->visibleArtSet.artifactsWorn)
+		std::vector<ConstTransitivePtr<CArtifactInstance>> artsForMove;
+		for(const auto& slotInfo : arts->visibleArtSet.artifactsWorn)
 		{
-			if(!aw.second.locked)
-				moveArtToAltar(nullptr, aw.second.artifact);
+			if(!slotInfo.second.locked && slotInfo.second.artifact->artType->isTradable())
+				artsForMove.push_back(slotInfo.second.artifact);
 		}
+		for(auto artInst : artsForMove)
+			moveArtToAltar(nullptr, artInst);
 		arts->updateWornSlots();
 		SacrificeBackpack();
 	}