UNF: Added the 4 eternal-format-legal dice modification/reroll cards (#7489)

This commit is contained in:
autumnmyst
2025-05-06 10:13:52 -07:00
committed by GitHub
parent 8678b5ec5b
commit 0c6f1ff58f
15 changed files with 508 additions and 78 deletions

View File

@@ -22,6 +22,7 @@ import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.game.*;
import forge.game.ability.AbilityUtils;
import forge.game.ability.effects.RollDiceEffect;
import forge.game.card.*;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
@@ -53,10 +54,7 @@ import forge.util.collect.FCollectionView;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Predicate;
/**
@@ -526,6 +524,26 @@ public class PlayerControllerForTests extends PlayerController {
return Aggregates.random(rolls);
}
@Override
public List<Integer> chooseDiceToReroll(List<Integer> rolls) {
return new ArrayList<>();
}
@Override
public Integer chooseRollToModify(List<Integer> rolls) {
return Aggregates.random(rolls);
}
@Override
public RollDiceEffect.DieRollResult chooseRollToSwap(List<RollDiceEffect.DieRollResult> rolls) {
return Aggregates.random(rolls);
}
@Override
public String chooseRollSwapValue(List<String> swapChoices, Integer currentResult, int power, int toughness) {
return Aggregates.random(swapChoices);
}
@Override
public Object vote(SpellAbility sa, String prompt, List<Object> options, ListMultimap<Object, Player> votes, Player forPlayer, boolean optional) {
return chooseItem(options);
@@ -577,6 +595,12 @@ public class PlayerControllerForTests extends PlayerController {
return false;
}
@Override
public boolean payCostDuringRoll(final Cost cost, final SpellAbility sa, final FCollectionView<Player> allPayers) {
// TODO Auto-generated method stub
return false;
}
@Override
public void orderAndPlaySimultaneousSa(List<SpellAbility> activePlayerSAs) {
for (final SpellAbility sa : activePlayerSAs) {