diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/merchant/MerchantService.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/merchant/MerchantService.java index 4c1b08703..1f9e96e24 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/merchant/MerchantService.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/merchant/MerchantService.java @@ -70,6 +70,8 @@ public class MerchantService { addBooster("HU - Booster", 1000); addBooster("RoS - Booster", 1000); addBooster("TaD - Booster", 1000); + + addBooster("REF - Booster", 2000); } private void addBooster(String blueprintId, int price) { diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RarityPackBox.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RarityPackBox.java index a0b337831..500ab7345 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RarityPackBox.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RarityPackBox.java @@ -22,20 +22,20 @@ public class RarityPackBox implements PackBox { if (hasFoil) { int foilRarity = _random.nextInt(11); if (foilRarity == 0) { - List possibleCards = new LinkedList(); + List possibleCards = new ArrayList(); possibleCards.addAll(_setRarity.getCardsOfRarity("R")); possibleCards.addAll(_setRarity.getCardsOfRarity("P")); possibleCards.addAll(_setRarity.getCardsOfRarity("A")); Collections.shuffle(possibleCards, _random); addCards(result, possibleCards.subList(0, 1), true); } else if (foilRarity < 4) { - List possibleCards = new LinkedList(); + List possibleCards = new ArrayList(); possibleCards.addAll(_setRarity.getCardsOfRarity("U")); possibleCards.addAll(_setRarity.getCardsOfRarity("S")); Collections.shuffle(possibleCards, _random); addCards(result, possibleCards.subList(0, 1), true); } else { - List possibleCards = new LinkedList(_setRarity.getCardsOfRarity("C")); + List possibleCards = new ArrayList(_setRarity.getCardsOfRarity("C")); Collections.shuffle(possibleCards, _random); addCards(result, possibleCards.subList(0, 1), true); } @@ -47,7 +47,7 @@ public class RarityPackBox implements PackBox { } private void addRandomRareCard(List result, int count) { - List possibleCards = new LinkedList(); + List possibleCards = new ArrayList(); possibleCards.addAll(_setRarity.getCardsOfRarity("R")); possibleCards.addAll(_setRarity.getCardsOfRarity("R")); possibleCards.addAll(_setRarity.getCardsOfRarity("R")); @@ -57,7 +57,7 @@ public class RarityPackBox implements PackBox { } private void addRandomCardsOfRarity(List result, int count, String rarity) { - List possibleCards = new LinkedList(_setRarity.getCardsOfRarity(rarity)); + List possibleCards = new ArrayList(_setRarity.getCardsOfRarity(rarity)); Collections.shuffle(possibleCards, _random); addCards(result, possibleCards.subList(0, count), false); } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/ReflectionsPackBox.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/ReflectionsPackBox.java new file mode 100644 index 000000000..8c42cc495 --- /dev/null +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/ReflectionsPackBox.java @@ -0,0 +1,51 @@ +package com.gempukku.lotro.packs; + +import com.gempukku.lotro.cards.packs.RarityReader; +import com.gempukku.lotro.cards.packs.SetRarity; +import com.gempukku.lotro.game.CardCollection; + +import java.util.*; + +public class ReflectionsPackBox implements PackBox { + private Random _random = new Random(); + private SetRarity _reflectionsRarity; + private List _previousSetCards = new ArrayList(); + + public ReflectionsPackBox() { + RarityReader rarityReader = new RarityReader(); + _reflectionsRarity = rarityReader.getSetRarity("9"); + + for (int set = 1; set <= 6; set++) { + final SetRarity setRarity = rarityReader.getSetRarity(String.valueOf(set)); + _previousSetCards.addAll(setRarity.getCardsOfRarity("R")); + _previousSetCards.addAll(setRarity.getCardsOfRarity("P")); + for (int i = 0; i < 3; i++) + _previousSetCards.addAll(setRarity.getCardsOfRarity("U")); + for (int i = 0; i < 7; i++) + _previousSetCards.addAll(setRarity.getCardsOfRarity("C")); + } + } + + @Override + public List openPack() { + List result = new LinkedList(); + result.add(new CardCollection.Item(CardCollection.Item.Type.CARD, 1, getRandomReflectionsCard() + "*")); + result.add(new CardCollection.Item(CardCollection.Item.Type.CARD, 1, getRandomReflectionsCard() + "*")); + + for (int i = 0; i < 16; i++) + result.add(new CardCollection.Item(CardCollection.Item.Type.CARD, 1, _previousSetCards.get(_random.nextInt(_previousSetCards.size())))); + + return result; + } + + public String getRandomReflectionsCard() { + List possibleCards = new ArrayList(); + possibleCards.addAll(_reflectionsRarity.getCardsOfRarity("R")); + possibleCards.addAll(_reflectionsRarity.getCardsOfRarity("R")); + possibleCards.addAll(_reflectionsRarity.getCardsOfRarity("R")); + possibleCards.addAll(_reflectionsRarity.getCardsOfRarity("R")); + possibleCards.addAll(_reflectionsRarity.getCardsOfRarity("X")); + Collections.shuffle(possibleCards, _random); + return possibleCards.get(0); + } +} diff --git a/gemp-lotr/gemp-lotr-server/src/main/resources/packs.txt b/gemp-lotr/gemp-lotr-server/src/main/resources/packs.txt index d48faa529..9194bede9 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/resources/packs.txt +++ b/gemp-lotr/gemp-lotr-server/src/main/resources/packs.txt @@ -38,4 +38,5 @@ BL - Booster (S)SH - Tengwar HU - Booster RoS - Booster -TaD - Booster \ No newline at end of file +TaD - Booster +REF - Booster \ No newline at end of file diff --git a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/PacksStorageProvider.java b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/PacksStorageProvider.java index a815a9a90..44798a8c6 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/PacksStorageProvider.java +++ b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/PacksStorageProvider.java @@ -89,6 +89,8 @@ public class PacksStorageProvider implements Injectable, Injectabl packStorage.addPackBox("RoS - Booster", new RarityPackBox(17)); packStorage.addPackBox("TaD - Booster", new RarityPackBox(18)); + packStorage.addPackBox("REF - Booster", new ReflectionsPackBox()); + return packStorage; } catch (IOException exp) { _logger.error("Error while creating resource", exp); diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html index 2b38b83e2..10b2997ff 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html @@ -2,6 +2,7 @@ 16 Mar. 2012 - When "Mountain-troll" is played with discarding 5 minions, now it should properly gain Fierce. - "Gimli, Feared Axeman" should now properly be usable when a card is discarded by an action of an opponent. +- Added Reflections (09) boosters. 15 Mar. 2012 - "Mount Doom" should finally work. diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/jCards.js b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/jCards.js index 72baff899..6ebc4b274 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/jCards.js +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/jCards.js @@ -87,7 +87,9 @@ var packBlueprints = { "TaD - Faramir Starter": "/gemp-lotr/images/boosters/eof_faramir_starter.png", "TaD - Witch-king Starter": "/gemp-lotr/images/boosters/eof_witch_king_starter.png", - "TaD - Booster": "/gemp-lotr/images/boosters/tad_booster.png" + "TaD - Booster": "/gemp-lotr/images/boosters/tad_booster.png", + + "REF - Booster": "/gemp-lotr/images/boosters/ref_booster.png" }; var Card = Class.extend({