浏览代码

Merge pull request #6323 from MichalZr6/haven_bonus_limit_fix

Prevent crash when opening stack's info window in current Haven town fort window
Ivan Savenko 1 月之前
父节点
当前提交
413eeed1da
共有 1 个文件被更改,包括 2 次插入9 次删除
  1. 2 9
      lib/bonuses/Limiters.cpp

+ 2 - 9
lib/bonuses/Limiters.cpp

@@ -287,16 +287,9 @@ ILimiter::EDecision CreatureTerrainLimiter::limit(const BonusLimitationContext &
 	}
 	else
 	{
-		if (context.node.getNodeType() == BonusNodeType::STACK_BATTLE)
-		{
-			const auto * unit = dynamic_cast<const CStack *>(&context.node);
-			if (unit->getCurrentTerrain() == terrainType)
-				return ILimiter::EDecision::ACCEPT;
-		}
-		else
+		if(const auto * unit = retrieveStackInstance(&context.node))
 		{
-			const auto * unit = dynamic_cast<const CStackInstance*>(&context.node);
-			if (unit->getCurrentTerrain() == terrainType)
+			if (unit->getArmy() && unit->getCurrentTerrain() == terrainType)
 				return ILimiter::EDecision::ACCEPT;
 		}
 	}