mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-14 17:58:01 +00:00
Merge branch 'castSALastZoneFix' into 'master'
CastSA: fix LastZone use LKI copy when put on stack See merge request core-developers/forge!2790
This commit is contained in:
@@ -293,7 +293,12 @@ public final class CardUtil {
|
||||
newCopy.addOptionalCostPaid(ocost);
|
||||
}
|
||||
|
||||
newCopy.setCastSA(in.getCastSA());
|
||||
if (in.getCastSA() != null) {
|
||||
SpellAbility castSA = in.getCastSA().copy(newCopy, true);
|
||||
castSA.setLastStateBattlefield(CardCollection.EMPTY);
|
||||
castSA.setLastStateGraveyard(CardCollection.EMPTY);
|
||||
newCopy.setCastSA(castSA);
|
||||
}
|
||||
newCopy.setCastFrom(in.getCastFrom());
|
||||
|
||||
newCopy.setExiledWith(in.getExiledWith());
|
||||
|
||||
@@ -136,8 +136,13 @@ public class MagicStack /* extends MyObservable */ implements Iterable<SpellAbil
|
||||
// if the ability is a spell, but not a copied spell and its not already
|
||||
// on the stack zone, move there
|
||||
if (ability.isSpell()) {
|
||||
if (!source.isCopiedSpell() && !source.isInZone(ZoneType.Stack)) {
|
||||
ability.setHostCard(game.getAction().moveToStack(source, ability));
|
||||
if (!source.isCopiedSpell()) {
|
||||
if (!source.isInZone(ZoneType.Stack)) {
|
||||
ability.setHostCard(game.getAction().moveToStack(source, ability));
|
||||
}
|
||||
if (ability.equals(source.getCastSA())) {
|
||||
source.setCastSA(ability.copy(source, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user