From 119d51d1efe6e0a92e3e368c81cb6e5df5c76a96 Mon Sep 17 00:00:00 2001 From: SoundSSGood <87084363+SoundSSGood@users.noreply.github.com> Date: Fri, 11 Aug 2023 14:19:06 +0300 Subject: [PATCH] altar sacrifice all fix --- client/windows/CTradeWindow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/client/windows/CTradeWindow.cpp b/client/windows/CTradeWindow.cpp index 6787308fd..7787ec4de 100644 --- a/client/windows/CTradeWindow.cpp +++ b/client/windows/CTradeWindow.cpp @@ -1262,11 +1262,14 @@ void CAltarWindow::SacrificeAll() } else { - for(const auto & aw : arts->visibleArtSet.artifactsWorn) + std::vector> 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(); }