瀏覽代碼

#3788 - fix passing wirlpool with only commander alive

Andrii Danylchenko 1 年之前
父節點
當前提交
ae69311023
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      lib/mapObjects/MiscObjects.cpp

+ 2 - 1
lib/mapObjects/MiscObjects.cpp

@@ -709,7 +709,8 @@ void CGWhirlpool::teleportDialogAnswered(const CGHeroInstance *hero, ui32 answer
 bool CGWhirlpool::isProtected(const CGHeroInstance * h)
 {
 	return h->hasBonusOfType(BonusType::WHIRLPOOL_PROTECTION)
-	|| (h->stacksCount() == 1 && h->Slots().begin()->second->count == 1);
+		|| (h->stacksCount() == 1 && h->Slots().begin()->second->count == 1)
+		|| (h->stacksCount() == 0 && h->commander && h->commander->alive);
 }
 
 ArtifactID CGArtifact::getArtifact() const