From 74f159c420f84d6dd381f15362b94f84fd24c103 Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 22 Nov 2014 04:59:44 +0000 Subject: [PATCH] Flesh out Dominaria, Shandalar, and Jamuraa planes --- .../forge/planarconquest/ConquestPlane.java | 57 +++++++++++++------ 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java b/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java index d2d1c750a5a..0521395aaa3 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java @@ -50,10 +50,19 @@ public enum ConquestPlane { }), Dominaria("Dominaria", new String[] { - + "ICE", "ALL", "CSP", + "USG", "ULG", "UDS", + "INV", "PLS", "APC", + "ODY", "TOR", "JUD", + "ONS", "LGN", "SCG", + "TSP", "TSB", "PLC", "FUT" }, new Region[] { - new Region("", "", null, - new String[] { }) + new Region("Ice Age", "", inSet("ICE", "ALL", "CSP")), + new Region("Urza's Saga", "", inSet("USG", "ULG", "UDS")), + new Region("Invasion", "", inSet("INV", "PLS", "APC")), + new Region("Odyssey", "", inSet("ODY", "TOR", "JUD")), + new Region("Onslaught", "", inSet("ONS", "LGN", "SCG")), + new Region("Time Spiral", "", inSet("TSP", "TSB", "PLC", "FUT")) }, new String[] { }), @@ -72,6 +81,14 @@ public enum ConquestPlane { new String[] { "Gavony" }) }, new String[] { + }), + Jamuraa("Jamuraa", new String[] { + "5ED", "ARN", "MIR", "VIS", "WTH" + }, new Region[] { + new Region("", "", null, + new String[] { }) + }, new String[] { + }), Kamigawa("Kamigawa", new String[] { "CHK", "BOK", "SOK" @@ -146,14 +163,6 @@ public enum ConquestPlane { new String[] { "Tangle", "Forest" }) }, new String[] { - }), - Rabiah("Rabiah", new String[] { - "ARN" - }, new Region[] { - new Region("Bazaar of Baghdad", "Bazaar of Baghdad", null, - new String[] { }) - }, new String[] { - }), Rath("Rath", new String[] { "TMP", "STH", "EXO" @@ -208,7 +217,7 @@ public enum ConquestPlane { }), Shandalar("Shandalar", new String[] { - "2ED", "ARN", "ATQ", "3ED", "LEG", "DRK", "4ED" + "2ED", "ATQ", "3ED", "LEG", "DRK", "4ED" }, new Region[] { new Region("", "", null, new String[] { }) @@ -346,11 +355,13 @@ public enum ConquestPlane { private final CardPool cardPool = new CardPool(); private final FCollection commanders = new FCollection(); - private Region(String name0, String artCardName0, final Predicate rulesPred, final String[] keywords) { + private Region(String name0, String artCardName0, Predicate pred0) { name = name0; artCardName = artCardName0; - - pred = new Predicate() { + pred = pred0; + } + private Region(String name0, String artCardName0, final Predicate rulesPred, final String[] keywords) { + this(name0, artCardName0, new Predicate() { @Override public boolean apply(PaperCard pc) { if (rulesPred != null && rulesPred.apply(pc.getRules())) { @@ -363,7 +374,7 @@ public enum ConquestPlane { } return false; } - }; + }); } public String getName() { @@ -382,4 +393,18 @@ public enum ConquestPlane { return name; } } + + private static Predicate inSet(final String... sets) { + return new Predicate() { + @Override + public boolean apply(PaperCard pc) { + for (String set : sets) { + if (pc.getEdition().equals(set)) { + return true; + } + } + return false; + } + }; + } }