Player: DiscardToTopOfLibrary and Madness are replacement discards, that should not trigger other Replacement again

This commit is contained in:
Hanmac
2016-07-15 11:16:24 +00:00
parent 811c8ae1e8
commit a06b1c8ef1

View File

@@ -1442,6 +1442,12 @@ public class Player extends GameEntity implements Comparable<Player> {
}*/
final Card source = sa != null ? sa.getHostCard() : null;
boolean discardToTopOfLibrary = null != sa && sa.hasParam("DiscardToTopOfLibrary");
boolean discardMadness = sa != null && sa.hasParam("Madness");
// DiscardToTopOfLibrary and Madness are replacement discards,
// that should not trigger other Replacement again
if (!discardToTopOfLibrary && !discardMadness) {
// Replacement effects
final HashMap<String, Object> repRunParams = new HashMap<String, Object>();
repRunParams.put("Event", "Discard");
@@ -1452,9 +1458,7 @@ public class Player extends GameEntity implements Comparable<Player> {
if (game.getReplacementHandler().run(repRunParams) != ReplacementResult.NotReplaced) {
return null;
}
boolean discardToTopOfLibrary = null != sa && sa.hasParam("DiscardToTopOfLibrary");
boolean discardMadness = sa != null && sa.hasParam("Madness");
}
StringBuilder sb = new StringBuilder();
sb.append(this).append(" discards ").append(c);