mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-11 16:26:22 +00:00
Support Turtles Forever (#8926)
This commit is contained in:
@@ -1103,7 +1103,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
if (changeType.startsWith("EACH")) {
|
||||
String[] eachTypes = changeType.substring(5).split(" & ");
|
||||
for (String thisType : eachTypes) {
|
||||
for (int i = 0; i < changeNum && destination != null; i++) {
|
||||
for (int i = 0; i < changeNum; i++) {
|
||||
CardCollection thisList = (CardCollection) AbilityUtils.filterListByType(fetchList, thisType, sa);
|
||||
if (!chosenCards.isEmpty()) {
|
||||
thisList.removeAll(chosenCards);
|
||||
@@ -1138,7 +1138,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
// maybe prompt the user if they selected fewer than the maximum possible?
|
||||
} else {
|
||||
// one at a time
|
||||
for (int i = 0; i < changeNum && destination != null; i++) {
|
||||
for (int i = 0; i < changeNum; i++) {
|
||||
if (sa.hasParam("DifferentNames")) {
|
||||
for (Card c : chosenCards) {
|
||||
fetchList = CardLists.filter(fetchList, CardPredicates.sharesNameWith(c).negate());
|
||||
@@ -1252,6 +1252,10 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
player.removeController(controlTimestamp);
|
||||
}
|
||||
|
||||
if (sa.hasParam("Exactly") && chosenCards.size() < changeNum) {
|
||||
continue;
|
||||
}
|
||||
|
||||
HiddenOriginChoices choices = new HiddenOriginChoices();
|
||||
choices.searchedLibrary = searchedLibrary;
|
||||
choices.shuffleMandatory = shuffleMandatory;
|
||||
@@ -1281,7 +1285,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
Player decider = ObjectUtils.firstNonNull(chooser, player);
|
||||
|
||||
for (final Card c : chosenCards) {
|
||||
Card movedCard = null;
|
||||
Card movedCard;
|
||||
final Zone originZone = game.getZoneOf(c);
|
||||
Map<AbilityKey, Object> moveParams = AbilityKey.newMap();
|
||||
moveParams.put(AbilityKey.FoundSearchingLibrary, searchedLibrary);
|
||||
@@ -1413,6 +1417,9 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
movedCard.addMayLookFaceDownExile(sa.getActivatingPlayer());
|
||||
}
|
||||
}
|
||||
else if (destination == null) {
|
||||
movedCard = c;
|
||||
}
|
||||
else {
|
||||
movedCard = game.getAction().moveTo(destination, c, 0, sa, moveParams);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ Types:Creature Demon Berserker
|
||||
PT:6/6
|
||||
K:Flying
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters, you may search your library for exactly two cards not named Burning-Rune Demon that have different names. If you do, reveal those cards. An opponent chooses one of them. Put the chosen card into your hand and the other into your graveyard, then shuffle.
|
||||
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Card.!namedBurning-Rune Demon | ChangeNum$ 2 | DifferentNames$ True | RememberChanged$ True | Reveal$ True | Shuffle$ False | AILogic$ Intuition | SubAbility$ DBChoosePlayer
|
||||
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Card.!namedBurning-Rune Demon | ChangeNum$ 2 | DifferentNames$ True | Exactly$ True | RememberChanged$ True | Reveal$ True | Shuffle$ False | AILogic$ Intuition | SubAbility$ DBChoosePlayer
|
||||
SVar:DBChoosePlayer:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent | SubAbility$ DBChangeZone1
|
||||
SVar:DBChangeZone1:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.IsRemembered | Chooser$ ChosenPlayer | ChangeNum$ 1 | Mandatory$ True | NoLooking$ True | SelectPrompt$ Select a card to be put into the hand of CARDNAME's controller | Shuffle$ False | SubAbility$ DBChangeZone2 | StackDescription$ None
|
||||
SVar:DBChangeZone2:DB$ ChangeZoneAll | Origin$ Library | Destination$ Graveyard | ChangeType$ Card.IsRemembered | Shuffle$ True | StackDescription$ None | SubAbility$ DBCleanup
|
||||
|
||||
Reference in New Issue
Block a user