diff --git a/client/windows/CCreatureWindow.cpp b/client/windows/CCreatureWindow.cpp index ccc4b1feb..17b9f8574 100644 --- a/client/windows/CCreatureWindow.cpp +++ b/client/windows/CCreatureWindow.cpp @@ -851,6 +851,10 @@ void CStackWindow::initBonusesList() BonusList receivedBonuses = *info->stackNode->getBonuses(CSelector(Bonus::Permanent), Selector::all); BonusList abilities = info->creature->getExportedBonusList(); + // remove all bonuses that are not propagated away + // such bonuses should be present in received bonuses, and if not - this means that they are behind inactive limiter, such as inactive stack experience bonuses + abilities.remove_if([](const Bonus* b){ return b->propagator == nullptr;}); + const auto & bonusSortingPredicate = [this](const std::shared_ptr & v1, const std::shared_ptr & v2){ if (v1->source != v2->source) {