forked from External/mage
Fix Sevinne's Reclamation. (#6275)
This also handles the rather unique case caused by Sevinne's Reclamation where the original spell resolves before the copy of it. Also fixes a couple typos.
This commit is contained in:
parent
ae7919cd07
commit
d56f6b991b
5 changed files with 51 additions and 17 deletions
|
|
@ -499,21 +499,21 @@ public abstract class CardImpl extends MageObjectImpl implements Card {
|
|||
case STACK:
|
||||
StackObject stackObject;
|
||||
if (getSpellAbility() != null) {
|
||||
stackObject = game.getStack().getSpell(getSpellAbility().getId());
|
||||
stackObject = game.getStack().getSpell(getSpellAbility().getId(), false);
|
||||
} else {
|
||||
stackObject = game.getStack().getSpell(this.getId());
|
||||
stackObject = game.getStack().getSpell(this.getId(), false);
|
||||
}
|
||||
if (stackObject == null && (this instanceof SplitCard)) { // handle if half of Split cast is on the stack
|
||||
stackObject = game.getStack().getSpell(((SplitCard) this).getLeftHalfCard().getId());
|
||||
stackObject = game.getStack().getSpell(((SplitCard) this).getLeftHalfCard().getId(), false);
|
||||
if (stackObject == null) {
|
||||
stackObject = game.getStack().getSpell(((SplitCard) this).getRightHalfCard().getId());
|
||||
stackObject = game.getStack().getSpell(((SplitCard) this).getRightHalfCard().getId(), false);
|
||||
}
|
||||
}
|
||||
if (stackObject == null && (this instanceof AdventureCard)) {
|
||||
stackObject = game.getStack().getSpell(((AdventureCard) this).getSpellCard().getId());
|
||||
stackObject = game.getStack().getSpell(((AdventureCard) this).getSpellCard().getId(), false);
|
||||
}
|
||||
if (stackObject == null) {
|
||||
stackObject = game.getStack().getSpell(getId());
|
||||
stackObject = game.getStack().getSpell(getId(), false);
|
||||
}
|
||||
if (stackObject != null) {
|
||||
removed = game.getStack().remove(stackObject, game);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue