瀏覽代碼

Slayer spell should only affect creatures with KING bonus

Ivan Savenko 1 年之前
父節點
當前提交
3b6d3dee69
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      lib/battle/DamageCalculator.cpp

+ 3 - 0
lib/battle/DamageCalculator.cpp

@@ -132,6 +132,9 @@ int DamageCalculator::getActorAttackSlayer() const
 	const std::string cachingStrSlayer = "type_SLAYER";
 	static const auto selectorSlayer = Selector::type()(BonusType::SLAYER);
 
+	if (!info.defender->hasBonusOfType(BonusType::KING))
+		return 0;
+
 	auto slayerEffects = info.attacker->getBonuses(selectorSlayer, cachingStrSlayer);
 	auto slayerAffected = info.defender->unitType()->valOfBonuses(Selector::type()(BonusType::KING));