Ver Fonte

Slayer spell should only affect creatures with KING bonus

Ivan Savenko há 1 ano atrás
pai
commit
3b6d3dee69
1 ficheiros alterados com 3 adições e 0 exclusões
  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";
 	const std::string cachingStrSlayer = "type_SLAYER";
 	static const auto selectorSlayer = Selector::type()(BonusType::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 slayerEffects = info.attacker->getBonuses(selectorSlayer, cachingStrSlayer);
 	auto slayerAffected = info.defender->unitType()->valOfBonuses(Selector::type()(BonusType::KING));
 	auto slayerAffected = info.defender->unitType()->valOfBonuses(Selector::type()(BonusType::KING));