Hm, wondering about proper implementation of convoke/improvise.
Convoke is defined as follows:
“For each colored mana in this spell’s total cost, you may tap an untapped creature of that color you control rather than pay that mana. For each generic mana in this spell’s total cost, you may tap an untapped creature you control rather than pay that mana.”
I searched for the rules about convoke and mana ability activation, and found this:
http://www.mtgsalvation.com/forums/magi ... ew-convokeThis shows that convoke and improvise should work the same and that the current Forge implementation of convoke is not exact.
I'd suggest this: when selecting creatures to tap for convoke, don't tap them immediately, but merely "mark" them. If a creature leaves the battlefield or if you tap it for mana ability, the marking is removed (alternately, mana abilities that would remove/tap it could be disallowed).
In order to correctly implement another corner case (tapped
Pili-Pala where you should be able to first activate its mana ability, which untaps it, and then tap it for convoke/improvise), the only option would probably be to completely eliminate the convoke "step" and simply select the cards for convoke/improvise at the same time you activate normal mana abilities. So during casting of a spell with convoke/improvise, clicking on a card can activate its mana ability, or mark it for convoke/improvise, with selection box if there are multiple options (like clicking on
Llanowar Elves while casting a convoke spell). Once a permanent is marked for convoke/improvise, it can't be marked again and no mana ability which taps it or removes it from the battlefield can be used. (This should be easy for native abilities like
Llanowar Elves or
Wild Cantor, but slightly harder for correctly limiting things like
Ashnod's Altar or
Heritage Druid.)