Browse Source

better fix

Laserlicht 9 months ago
parent
commit
5c6ce47371
2 changed files with 2 additions and 2 deletions
  1. 1 1
      lib/bonuses/IBonusBearer.cpp
  2. 1 1
      lib/mapObjects/CGHeroInstance.cpp

+ 1 - 1
lib/bonuses/IBonusBearer.cpp

@@ -59,7 +59,7 @@ TConstBonusListPtr IBonusBearer::getBonusesOfType(BonusType type) const
 TConstBonusListPtr IBonusBearer::getBonusesOfType(BonusType type, BonusSubtypeID subtype) const
 {
 	std::string cachingStr = "type_" + std::to_string(static_cast<int>(type)) + "_" + subtype.toString();
-	CSelector s = Selector::type()(type);
+	CSelector s = Selector::typeSubtype(type, subtype);
 	return getBonuses(s, cachingStr);
 }
 

+ 1 - 1
lib/mapObjects/CGHeroInstance.cpp

@@ -1893,7 +1893,7 @@ bool CGHeroInstance::isMissionCritical() const
 
 void CGHeroInstance::fillUpgradeInfo(UpgradeInfo & info, const CStackInstance & stack) const
 {
-	TConstBonusListPtr lista = getBonuses(Selector::typeSubtype(BonusType::SPECIAL_UPGRADE, BonusSubtypeID(stack.getId())));
+	TConstBonusListPtr lista = getBonusesOfType(BonusType::SPECIAL_UPGRADE, BonusSubtypeID(stack.getId()));
 	for(const auto & it : *lista)
 	{
 		auto nid = CreatureID(it->additionalInfo[0]);