mirror of
https://github.com/magefree/mage.git
synced 2025-12-23 03:51:58 -08:00
Updated Historical Standard validators
Made both actually test for having Stoneforge Mystic XOR Batterskull. Updated Super Standard Banlist.
This commit is contained in:
parent
122ad7a74b
commit
cc9bda92af
2 changed files with 23 additions and 10 deletions
|
|
@ -18,7 +18,7 @@ import java.util.Map;
|
|||
*
|
||||
* This class was originally made to work with the historical standard ruleset.
|
||||
* Data taken from http://thattournament.website/historic-tournament.php
|
||||
* (site changed, originally thtp://mtgt.nfshost.com/historic-tournament.php)
|
||||
* (site changed, originally http://mtgt.nfshost.com/historic-tournament.php)
|
||||
*
|
||||
* If there are any questions or corrections, feel free to contact me.
|
||||
*
|
||||
|
|
@ -111,9 +111,6 @@ public class HistoricalStandard extends Constructed {
|
|||
|
||||
// banned cards
|
||||
banned.add("Balance");
|
||||
// Not banned in the format, but it is either this or Misty, and most
|
||||
// people choose Misty.
|
||||
banned.add("Batterskull");
|
||||
banned.add("Memory Jar");
|
||||
banned.add("Mind Over Matter");
|
||||
banned.add("Mind Twist");
|
||||
|
|
@ -135,6 +132,17 @@ public class HistoricalStandard extends Constructed {
|
|||
|
||||
boolean valid = false;
|
||||
|
||||
// first, check whether misty and batterskull are in the same deck.
|
||||
Map<String, Integer> counts = new HashMap<>();
|
||||
countCards(counts, deck.getCards());
|
||||
countCards(counts, deck.getSideboard());
|
||||
if( counts.containsKey("Stoneforge Mystic")
|
||||
&& counts.containsKey("Batterskull")){
|
||||
|
||||
// if both, then skip all following tests by returning
|
||||
return false;
|
||||
}
|
||||
|
||||
// up to Lorwyn/Alara, standards will have to be hard-coded.
|
||||
// iterate through the array of standards.
|
||||
for (String[] sets : standards) {
|
||||
|
|
|
|||
|
|
@ -76,10 +76,8 @@ public class SuperStandard extends Constructed {
|
|||
super("Constructed - All Standards");
|
||||
|
||||
banned.add("Ancient Den");
|
||||
banned.add("Arcbound Ravager");
|
||||
banned.add("Disciple of the Vault");
|
||||
banned.add("Great Furnace");
|
||||
banned.add("Jace, the Mind Sculptor");
|
||||
banned.add("Seat of the Synod");
|
||||
banned.add("Skullclamp");
|
||||
banned.add("Tree of Tales");
|
||||
|
|
@ -99,6 +97,17 @@ public class SuperStandard extends Constructed {
|
|||
|
||||
boolean valid = false;
|
||||
|
||||
// first, check whether misty and batterskull are in the same deck.
|
||||
Map<String, Integer> counts = new HashMap<>();
|
||||
countCards(counts, deck.getCards());
|
||||
countCards(counts, deck.getSideboard());
|
||||
if( counts.containsKey("Stoneforge Mystic")
|
||||
&& counts.containsKey("Batterskull")){
|
||||
|
||||
// if both, then skip all following tests by returning
|
||||
return false;
|
||||
}
|
||||
|
||||
// up to Lorwyn/Alara, standards will have to be hard-coded.
|
||||
// iterate through the array of standards.
|
||||
for (String[] sets : standards) {
|
||||
|
|
@ -113,10 +122,8 @@ public class SuperStandard extends Constructed {
|
|||
// misty and darksteel citadel
|
||||
if( setCodes.contains("MRD") || setCodes.contains("SOM")){
|
||||
banned.add("Darksteel Citadel");
|
||||
banned.add("Stoneforge Mystic");
|
||||
}else{
|
||||
banned.remove("Darksteel Citadel");
|
||||
banned.remove("Stoneforge Mystic");
|
||||
}
|
||||
|
||||
// validate it. If it validates, clear the invalid cards and break.
|
||||
|
|
@ -174,10 +181,8 @@ public class SuperStandard extends Constructed {
|
|||
// misty and darksteel citadel
|
||||
if( setCodes.contains("MRD") || setCodes.contains("SOM")){
|
||||
banned.add("Darksteel Citadel");
|
||||
banned.add("Stoneforge Mystic");
|
||||
}else{
|
||||
banned.remove("Darksteel Citadel");
|
||||
banned.remove("Stoneforge Mystic");
|
||||
}
|
||||
|
||||
// validate it. If it validates, clear the invalid cards and break.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue