mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Fixes mirror spell reflecting berserk
This commit is contained in:
@@ -487,7 +487,8 @@ bool BattleSpellMechanics::isReflected(const battle::Unit * unit, vstd::RNG & rn
|
||||
{
|
||||
if (unit == nullptr)
|
||||
return false;
|
||||
bool isDirectSpell = owner->getTargetType() == AimType::CREATURE && !isMassive();
|
||||
const std::vector<int> directSpellRange = { 0 };
|
||||
bool isDirectSpell = !isMassive() && owner -> getLevelInfo(getRangeLevel()).range == directSpellRange;
|
||||
bool spellIsReflectable = isDirectSpell && (mode == Mode::HERO || mode == Mode::MAGIC_MIRROR) && isNegativeSpell();
|
||||
bool targetCanReflectSpell = spellIsReflectable && unit->getAllBonuses(Selector::type()(BonusType::MAGIC_MIRROR))->size()>0;
|
||||
return targetCanReflectSpell && rng.nextInt(0, 99) < unit->valOfBonuses(BonusType::MAGIC_MIRROR);
|
||||
|
||||
Reference in New Issue
Block a user