From ede186fb7d493eab2971ddce2b14dbf52240f229 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 22 Feb 2012 17:33:05 +0000 Subject: [PATCH] Common and uncommon foil packs introduced to fix the problem with missing prizes. --- .../gempukku/lotro/packs/RandomFoilPack.java | 31 +++++++++++++++++++ .../src/main/resources/packs.txt | 4 ++- .../lotro/server/PacksStorageProvider.java | 7 ++--- 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RandomFoilPack.java diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RandomFoilPack.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RandomFoilPack.java new file mode 100644 index 000000000..ac259d8f4 --- /dev/null +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/packs/RandomFoilPack.java @@ -0,0 +1,31 @@ +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.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Random; + +public class RandomFoilPack implements PackBox { + private List _availableCards = new ArrayList(); + + public RandomFoilPack(String rarity, String[] sets) { + RarityReader rarityReader = new RarityReader(); + for (String set : sets) { + final SetRarity setRarity = rarityReader.getSetRarity(set); + _availableCards.addAll(setRarity.getCardsOfRarity(rarity)); + } + } + + @Override + public List openPack() { + List result = new LinkedList(); + final String cardBlueprintId = _availableCards.get(new Random().nextInt(_availableCards.size())) + "*"; + result.add( + new CardCollection.Item(CardCollection.Item.Type.CARD, 1, cardBlueprintId)); + return result; + } +} 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 db5c04e0b..d53699cb9 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/resources/packs.txt +++ b/gemp-lotr/gemp-lotr-server/src/main/resources/packs.txt @@ -24,4 +24,6 @@ EoF - Witch-king Starter (S)EoF - Starter (S)FotR - Starter (S)MoM - Starter -(S)RotEL - Starter \ No newline at end of file +(S)RotEL - Starter +Random FotR Foil Common +Random FotR Foil Uncommon \ 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 378acf110..ac03ee169 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 @@ -1,9 +1,6 @@ package com.gempukku.lotro.server; -import com.gempukku.lotro.packs.FixedPackBox; -import com.gempukku.lotro.packs.LeagueStarterBox; -import com.gempukku.lotro.packs.PacksStorage; -import com.gempukku.lotro.packs.RarityPackBox; +import com.gempukku.lotro.packs.*; import com.sun.jersey.core.spi.component.ComponentContext; import com.sun.jersey.core.spi.component.ComponentScope; import com.sun.jersey.spi.inject.Injectable; @@ -36,6 +33,8 @@ public class PacksStorageProvider implements Injectable, Injectabl try { PacksStorage packStorage = new PacksStorage(); packStorage.addPackBox("FotR - League Starter", new LeagueStarterBox()); + packStorage.addPackBox("Random FotR Foil Common", new RandomFoilPack("C", new String[]{"1", "2", "3"})); + packStorage.addPackBox("Random FotR Foil Uncommon", new RandomFoilPack("U", new String[]{"1", "2", "3"})); packStorage.addPackBox("(S)FotR - Starter", new FixedPackBox("(S)FotR - Starter")); packStorage.addPackBox("(S)MoM - Starter", new FixedPackBox("(S)MoM - Starter"));