Browse Source

fix upgrades

Laserlicht 9 months ago
parent
commit
f72084cb26
2 changed files with 1 additions and 4 deletions
  1. 0 3
      lib/gameState/UpgradeInfo.cpp
  2. 1 1
      lib/mapObjects/CGHeroInstance.cpp

+ 0 - 3
lib/gameState/UpgradeInfo.cpp

@@ -15,9 +15,6 @@ VCMI_LIB_NAMESPACE_BEGIN
 
 void UpgradeInfo::addUpgrade(const CreatureID & upgradeID, const Creature * creature, int costPercentageModifier)
 {
-	if(vstd::contains(upgradesIDs, upgradeID))
-		return;
-
 	isAvailable = costPercentageModifier >= 0;
 
 	upgradesIDs.push_back(upgradeID);

+ 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 = getBonusesOfType(BonusType::SPECIAL_UPGRADE, BonusSubtypeID(stack.getId()));
+	TConstBonusListPtr lista = getBonuses(Selector::typeSubtype(BonusType::SPECIAL_UPGRADE, BonusSubtypeID(stack.getId())));
 	for(const auto & it : *lista)
 	{
 		auto nid = CreatureID(it->additionalInfo[0]);