diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index 5f81c3a2b..286ed0f8a 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -838,7 +838,11 @@ void CStackWindow::initBonusesList() std::sort(input.begin(), input.end(), [this](std::shared_ptr v1, std::shared_ptr & v2){ if (v1->source != v2->source) - return v1->source == BonusSource::CREATURE_ABILITY || (v1->source < v2->source); + { + int priorityV1 = v1->source == BonusSource::CREATURE_ABILITY ? -1 : static_cast(v1->source); + int priorityV2 = v2->source == BonusSource::CREATURE_ABILITY ? -1 : static_cast(v2->source); + return priorityV1 < priorityV2; + } else return info->stackNode->bonusToString(v1, false) < info->stackNode->bonusToString(v2, false); });