1
0
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:
Opuszek
2025-07-10 17:46:39 +02:00
parent e9f0ffed88
commit 709f456ef5

View File

@@ -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);