Proteus wrote:AI blocks my
Krosan Vorine with whichever creature it feels like, regardless of how I use its provoke.
I suspect this is related to imperfect blocking enforcement logic.
A simple algorithm for blocking is to disallow the player from leaving blocking assignments if the current assignment is illegal but could be made legal by additional assignments (like when a creature can't block alone), or if another forced blocker can be added. But this algorithm fails for
Krosan Vorine since if you assign a non-provoked creature to it first, it won't be possible to assign the provoked creature (as it can only be blocked by one creature).
The general solution is hard. Maybe a partial solution would be to allow players to assign new blockers even when getting over a limit. If they go over local limit like
Krosan Vorine, this would unassign other blockers for the same creature, if they go over global limit like
Silent Arbiter, this would unassign all other blockers. Then such assignments could be taken into account when searching for "better" blocks. The danger is that since a new blocking assignment could undo a previous one, there might be some infinite loops for AI; this could be resolved by storing its blocking sequence and making sure it won't repeat.
The blocking limit is usually 1, I think the only exception is
Caverns of Despair, and for them, the algorithm would allow (enforce) adding a third blocker, unassigning the other two, if third blocker plus either of the first two satisfy more requirements than the original situation.
Digression: How would
Nacatl War-Pride work under this logic?
Basically, when assigning a blocker to
Nacatl War-Pride that has none, the "obeyed requirements" would increase by one. When assigning a blocker to
Nacatl War-Pride that already has one, the "obeyed requirements" would decrease by one, so the algorithm would only allow that if another requirement is obeyed by doing so and if no other assignment of that blocker would be better.
And of course, the ability of
Nacatl War-Pride would have to be switched off if
Nacatl War-Pride is simultaneously under effect that makes it impossible to be blocked by one creature, like
Goblin War Drums. The requirement can't be obeyed in such case, so it has to be ignored.