diff --git a/lib/HeroBonus.cpp b/lib/HeroBonus.cpp index e4792bd76..863b4e807 100644 --- a/lib/HeroBonus.cpp +++ b/lib/HeroBonus.cpp @@ -470,7 +470,7 @@ ui32 IBonusBearer::Speed( int turn /*= 0*/ , bool useBind /* = false*/) const return 0; } //bind effect check - doesn't influence stack initiative - if (useBind && getEffect (SpellID::BIND)) + if(useBind && hasBonus(Selector::type(Bonus::BIND_EFFECT).And(Selector::turns(turn)))) { return 0; } diff --git a/server/CGameHandler.cpp b/server/CGameHandler.cpp index fa7b9e7ff..4ddcbfd40 100644 --- a/server/CGameHandler.cpp +++ b/server/CGameHandler.cpp @@ -4482,7 +4482,7 @@ void CGameHandler::stackTurnTrigger(const CStack * st) if (st->alive()) { //unbind - if (st->getEffect (SpellID::BIND)) + if(st->hasBonus(Selector::type(Bonus::BIND_EFFECT))) { bool unbind = true; BonusList bl = *(st->getBonuses(Selector::type(Bonus::BIND_EFFECT)));