mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Support generating starting deck based on commander
This commit is contained in:
@@ -8,6 +8,10 @@ public class ConquestCommander {
|
||||
private final PaperCard card;
|
||||
private final Deck deck;
|
||||
|
||||
public ConquestCommander(PaperCard card0) {
|
||||
card = card0;
|
||||
deck = new Deck(card0.getName());
|
||||
}
|
||||
public ConquestCommander(PaperCard card0, DeckGenPool cardPool0, boolean forAi) {
|
||||
card = card0;
|
||||
deck = ConquestUtil.generateDeck(card0, cardPool0, forAi);
|
||||
|
||||
@@ -439,8 +439,7 @@ public class ConquestController {
|
||||
}
|
||||
}
|
||||
|
||||
model.getCollection().addAll(rewards);
|
||||
model.getNewCards().addAll(rewards);
|
||||
model.addCardsToCollection(rewards);
|
||||
|
||||
String message = messagePrefix;
|
||||
if (messageSuffix != null) {
|
||||
@@ -514,8 +513,7 @@ public class ConquestController {
|
||||
}
|
||||
|
||||
BoosterUtils.sort(rewards);
|
||||
model.getCollection().addAll(rewards);
|
||||
model.getNewCards().addAll(rewards);
|
||||
model.addCardsToCollection(rewards);
|
||||
view.showCards("Booster contained " + count + " new card" + (count != 1 ? "s" : ""), rewards);
|
||||
}
|
||||
|
||||
@@ -532,8 +530,7 @@ public class ConquestController {
|
||||
|
||||
BoosterUtils.sort(cards);
|
||||
PaperCard card = SGuiChoose.one("Choose a card from your opponent's deck", cards);
|
||||
model.getCollection().add(card);
|
||||
model.getNewCards().add(card);
|
||||
model.addCardToCollection(card);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ import forge.util.ItemPool;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
@@ -52,9 +53,10 @@ public final class ConquestData {
|
||||
private PaperCard planeswalker;
|
||||
private ISkinImage planeswalkerToken;
|
||||
private ConquestLocation currentLocation;
|
||||
private final EnumMap<ConquestPlane, ConquestPlaneData> planeDataMap = new EnumMap<ConquestPlane, ConquestPlaneData>(ConquestPlane.class);
|
||||
|
||||
private final EnumMap<ConquestPlane, ConquestPlaneData> planeDataMap = new EnumMap<ConquestPlane, ConquestPlaneData>(ConquestPlane.class);
|
||||
private final HashSet<PaperCard> collection = new HashSet<PaperCard>();
|
||||
private final List<ConquestCommander> commanders = new ArrayList<ConquestCommander>();
|
||||
private final HashMap<String, Deck> decks = new HashMap<String, Deck>();
|
||||
private final ItemPool<InventoryItem> decksUsingMyCards = new ItemPool<InventoryItem>(InventoryItem.class);
|
||||
private final HashSet<PaperCard> newCards = new HashSet<PaperCard>();
|
||||
@@ -68,7 +70,14 @@ public final class ConquestData {
|
||||
currentLocation = new ConquestLocation(startingPlane, -1, 0, Region.PORTAL_COL);
|
||||
planeswalker = planeswalker0;
|
||||
planeswalkerToken = PlaneswalkerAchievements.getTrophyImage(planeswalker.getName());
|
||||
collection.add(planeswalker);
|
||||
addCardToCollection(planeswalker);
|
||||
|
||||
//generate deck for starting commander and add all cards to collection
|
||||
ConquestCommander commander = new ConquestCommander(startingCommander0, startingPlane.getCardPool(), false);
|
||||
commanders.add(commander);
|
||||
addCardToCollection(startingCommander0);
|
||||
addCardsToCollection(commander.getDeck().getMain().toFlatList());
|
||||
decks.put(commander.getDeck().getName(), commander.getDeck());
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
@@ -115,6 +124,15 @@ public final class ConquestData {
|
||||
return collection;
|
||||
}
|
||||
|
||||
public void addCardToCollection(PaperCard card) {
|
||||
collection.add(card);
|
||||
newCards.add(card);
|
||||
}
|
||||
public void addCardsToCollection(Collection<PaperCard> cards) {
|
||||
collection.addAll(cards);
|
||||
newCards.addAll(cards);
|
||||
}
|
||||
|
||||
public ConquestDeckMap getDeckStorage() {
|
||||
return new ConquestDeckMap(decks);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user