Ordering of static effects
There were some bug reports concerning Lignify played on a card that granted a static pump effect. The problem lies in the ordering of static effects. Here is what's happening in checkStateEffects:
1. stAnimate effects get removed
2. stAnimate effects get added
3. stSetPT effects get removed
4. stSetPT effects get added
5. stPump effects get removed
6. stPump effects get added
The problem is when checkStateEffects is called the first time after Lignify was cast. Lignify removes all keywords from the enchanted card in step 2, but the information is needed in step 5 to remove the old stPump effect.
My quick solution is to reorder the effects to:
1. stAnimate effects get removed
3. stSetPT effects get removed
5. stPump effects get removed
2. stAnimate effects get added
4. stSetPT effects get added
6. stPump effects get added
But maybe we can discuss improving the whole system to be closer to the layer system or to improve the performance (someone reported slow downs caused by static effects).
1. stAnimate effects get removed
2. stAnimate effects get added
3. stSetPT effects get removed
4. stSetPT effects get added
5. stPump effects get removed
6. stPump effects get added
The problem is when checkStateEffects is called the first time after Lignify was cast. Lignify removes all keywords from the enchanted card in step 2, but the information is needed in step 5 to remove the old stPump effect.
My quick solution is to reorder the effects to:
1. stAnimate effects get removed
3. stSetPT effects get removed
5. stPump effects get removed
2. stAnimate effects get added
4. stSetPT effects get added
6. stPump effects get added
But maybe we can discuss improving the whole system to be closer to the layer system or to improve the performance (someone reported slow downs caused by static effects).