Spells and cards moving to the stack
I would like to streamline how the moving of spells and cards to the stack is handled:
add(final SpellAbility sp) puts the spell on the stack, the corresponding card is moved by moveToStack which is mostly called just beforehand. In some places though, moveToStack is called, but the spell is not added to the stack until later in other functions (for example fillRequirements).
Calling moveToStack in the add function of MagicStack would not only remove some duplicate code, but would enable us to make the SpellCast trigger be usable on Burning Vengeance and River Kelpie and be generally more accurate by adding last known information.
add(final SpellAbility sp) puts the spell on the stack, the corresponding card is moved by moveToStack which is mostly called just beforehand. In some places though, moveToStack is called, but the spell is not added to the stack until later in other functions (for example fillRequirements).
Calling moveToStack in the add function of MagicStack would not only remove some duplicate code, but would enable us to make the SpellCast trigger be usable on Burning Vengeance and River Kelpie and be generally more accurate by adding last known information.