updated copy implementation to work with stack objects

This commit is contained in:
Evan Kranzler 2021-04-26 18:55:48 -04:00
parent 1352beee9f
commit 92007f0132
14 changed files with 206 additions and 218 deletions

View file

@ -5,9 +5,10 @@ import mage.abilities.Ability;
import mage.constants.Zone;
import mage.constants.ZoneDetail;
import mage.filter.predicate.Predicate;
import mage.filter.predicate.mageobject.MageObjectReferencePredicate;
import mage.game.Controllable;
import mage.game.Game;
import mage.util.functions.SpellCopyApplier;
import mage.util.functions.StackObjectCopyApplier;
import java.util.UUID;
@ -35,7 +36,9 @@ public interface StackObject extends MageObject, Controllable {
void createCopyOnStack(Game game, Ability source, UUID newControllerId, boolean chooseNewTargets, int amount);
void createCopyOnStack(Game game, Ability source, UUID newControllerId, boolean chooseNewTargets, int amount, SpellCopyApplier applier);
void createCopyOnStack(Game game, Ability source, UUID newControllerId, boolean chooseNewTargets, int amount, StackObjectCopyApplier applier);
void createSingleCopy(UUID newControllerId, StackObjectCopyApplier applier, MageObjectReferencePredicate predicate, Game game, Ability source, boolean chooseNewTargets);
boolean isTargetChanged();