From a7c1b7c83e03dbd564f2ff7abe6d7fc673b3fd27 Mon Sep 17 00:00:00 2001 From: Hellfish Date: Mon, 7 Nov 2011 09:36:55 +0000 Subject: [PATCH] *Changed DFC rarity distribution. --- .../java/forge/card/BoosterGenerator.java | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/src/main/java/forge/card/BoosterGenerator.java b/src/main/java/forge/card/BoosterGenerator.java index af2f4d6cc2d..28a9a0a1ce9 100644 --- a/src/main/java/forge/card/BoosterGenerator.java +++ b/src/main/java/forge/card/BoosterGenerator.java @@ -55,7 +55,10 @@ public class BoosterGenerator { private final List rares = new ArrayList(); private final List mythics = new ArrayList(); private final List specials = new ArrayList(); - private final List doubleFaced = new ArrayList(); + private final List doubleFacedCommons = new ArrayList(); + private final List doubleFacedUncommons = new ArrayList(); + private final List doubleFacedRares = new ArrayList(); + private final List doubleFacedMythics = new ArrayList(); // private List commonCreatures; // private List commonNonCreatures; @@ -263,7 +266,20 @@ public class BoosterGenerator { temp.addAll(this.pickRandomCards(this.mythics, nMythics)); } if (nDoubls > 0) { - temp.addAll(this.pickRandomCards(this.doubleFaced, nDoubls)); + int dblFacedRarity = MyRandom.getRandom().nextInt(14); + List listToUse; + if (dblFacedRarity < 9) { //Common + listToUse = doubleFacedCommons; + } else if (dblFacedRarity < 13) { //Uncommon + listToUse = doubleFacedUncommons; + } else {//Rare or Mythic + if(MyRandom.getRandom().nextInt(8) == 0) { + listToUse = doubleFacedMythics; + } else { + listToUse = doubleFacedRares; + } + } + temp.addAll(this.pickRandomCards(listToUse, nDoubls)); } temp.addAll(this.pickRandomCards(this.specials, nSpecs)); @@ -280,7 +296,22 @@ public class BoosterGenerator { return; } if (c.getCard().isDoubleFaced() && (this.numDoubleFaced > 0)) { - this.doubleFaced.add(c); + switch (c.getRarity()) { + case Common: + this.doubleFacedCommons.add(c); + break; + case Uncommon: + this.doubleFacedUncommons.add(c); + break; + case Rare: + this.doubleFacedRares.add(c); + break; + case MythicRare: + this.doubleFacedMythics.add(c); + break; + default: + break; + } } else { switch (c.getRarity()) { case Common: