浏览代码

Merge pull request #1905 from IvanSavenko/fix_rewardables

Fixed UI of objects that provide one reward that can be refused
Ivan Savenko 2 年之前
父节点
当前提交
ae5d273df9
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      lib/mapObjects/CRewardableObject.cpp

+ 8 - 2
lib/mapObjects/CRewardableObject.cpp

@@ -152,8 +152,14 @@ void CRewardableObject::onHeroVisit(const CGHeroInstance *h) const
 		BlockingDialog sd(canRefuse, rewards.size() > 1);
 		BlockingDialog sd(canRefuse, rewards.size() > 1);
 		sd.player = h->tempOwner;
 		sd.player = h->tempOwner;
 		sd.text = dialog;
 		sd.text = dialog;
-		for (auto index : rewards)
-			sd.components.push_back(info[index].reward.getDisplayedComponent(h));
+
+		if (rewards.size() > 1)
+			for (auto index : rewards)
+				sd.components.push_back(info[index].reward.getDisplayedComponent(h));
+
+		if (rewards.size() == 1)
+			info[rewards[0]].reward.loadComponents(sd.components, h);
+
 		cb->showBlockingDialog(&sd);
 		cb->showBlockingDialog(&sd);
 	};
 	};