|
@@ -838,7 +838,11 @@ void CStackWindow::initBonusesList()
|
|
|
|
|
|
std::sort(input.begin(), input.end(), [this](std::shared_ptr<Bonus> v1, std::shared_ptr<Bonus> & 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<int>(v1->source);
|
|
|
+ int priorityV2 = v2->source == BonusSource::CREATURE_ABILITY ? -1 : static_cast<int>(v2->source);
|
|
|
+ return priorityV1 < priorityV2;
|
|
|
+ }
|
|
|
else
|
|
|
return info->stackNode->bonusToString(v1, false) < info->stackNode->bonusToString(v2, false);
|
|
|
});
|