multiple changes:

* refactor: improved target pointer init code and logic, added docs and runtime checks;
* game: fixed miss or wrong init calls in some continuous effects;
* game: fixed wrong usage of target pointers (miss copy code, miss npe checks);
This commit is contained in:
Oleg Agafonov 2024-02-18 15:05:05 +04:00
parent b2aa4ecc08
commit 78612ddc91
115 changed files with 466 additions and 355 deletions

View file

@ -25,6 +25,7 @@ import mage.util.functions.CopyTokenFunction;
import mage.util.functions.EmptyCopyApplier;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author LevelX2
@ -418,7 +419,7 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
} else {
effect = new SacrificeTargetEffect("sacrifice the token copies", source.getControllerId());
}
effect.setTargetPointer(new FixedTargets(addedTokenPermanents, game));
effect.setTargetPointer(new FixedTargets(new ArrayList<>(addedTokenPermanents), game));
DelayedTriggeredAbility exileAbility;