Hellfish wrote:Way To Reproduce?

Ah.
Use this in a setup game state file:
- | Open
- HumanCardsInHand=Arcbound Worker; Chaotic Goo; Counterspell; Brainstorm; Avian Changeling; Vindicate; Melira, Sylvok Outcast
Cast something then cast Brainstorm then try to cast Counterspell.
By the way, I remembered something:
I once tried to add the stack zone to this batch of code you replaced Max:
- | Open
- Code: Select all
/**
* <p>getCardsInZone.</p>
*
* @param zone a {@link java.lang.String} object.
* @param player a {@link forge.Player} object.
* @return a {@link forge.CardList} object.
*/
public static CardList getCardsInZone(final String zone, final Player player) {
CardList all = new CardList();
if (zone.contains(Constant.Zone.Graveyard)) {
if (player == null || player.isHuman()) {
all.addAll(AllZone.getHumanGraveyard().getCards());
}
if (player == null || player.isComputer()) {
all.addAll(AllZone.getComputerGraveyard().getCards());
}
}
if (zone.contains(Constant.Zone.Hand)) {
if (player == null || player.isHuman()) {
all.addAll(AllZone.getHumanHand().getCards());
}
if (player == null || player.isComputer()) {
all.addAll(AllZone.getComputerHand().getCards());
}
}
if (zone.contains(Constant.Zone.Battlefield)) {
if (player == null || player.isHuman()) {
all.addAll(AllZone.getHumanBattlefield().getCards());
}
if (player == null || player.isComputer()) {
all.addAll(AllZone.getComputerBattlefield().getCards());
}
}
if (zone.contains(Constant.Zone.Exile)) {
if (player == null || player.isHuman()) {
all.addAll(AllZone.getHumanExile().getCards());
}
if (player == null || player.isComputer()) {
all.addAll(AllZone.getComputerExile().getCards());
}
}
if (zone.contains(Constant.Zone.Library)) {
if (player == null || player.isHuman()) {
all.addAll(AllZone.getHumanLibrary().getCards());
}
if (player == null || player.isComputer()) {
all.addAll(AllZone.getComputerLibrary().getCards());
}
}
return all;
}
I think I got some similar bugs, just by adding the entry and not even using the function. There must be some part of the code that uses the function with the stack as parameter, but can't handle it actually returning cards on the stack.