mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18: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 PaperCard card;
|
||||||
private final Deck deck;
|
private final Deck deck;
|
||||||
|
|
||||||
|
public ConquestCommander(PaperCard card0) {
|
||||||
|
card = card0;
|
||||||
|
deck = new Deck(card0.getName());
|
||||||
|
}
|
||||||
public ConquestCommander(PaperCard card0, DeckGenPool cardPool0, boolean forAi) {
|
public ConquestCommander(PaperCard card0, DeckGenPool cardPool0, boolean forAi) {
|
||||||
card = card0;
|
card = card0;
|
||||||
deck = ConquestUtil.generateDeck(card0, cardPool0, forAi);
|
deck = ConquestUtil.generateDeck(card0, cardPool0, forAi);
|
||||||
|
|||||||
@@ -439,8 +439,7 @@ public class ConquestController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
model.getCollection().addAll(rewards);
|
model.addCardsToCollection(rewards);
|
||||||
model.getNewCards().addAll(rewards);
|
|
||||||
|
|
||||||
String message = messagePrefix;
|
String message = messagePrefix;
|
||||||
if (messageSuffix != null) {
|
if (messageSuffix != null) {
|
||||||
@@ -514,8 +513,7 @@ public class ConquestController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BoosterUtils.sort(rewards);
|
BoosterUtils.sort(rewards);
|
||||||
model.getCollection().addAll(rewards);
|
model.addCardsToCollection(rewards);
|
||||||
model.getNewCards().addAll(rewards);
|
|
||||||
view.showCards("Booster contained " + count + " new card" + (count != 1 ? "s" : ""), rewards);
|
view.showCards("Booster contained " + count + " new card" + (count != 1 ? "s" : ""), rewards);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -532,8 +530,7 @@ public class ConquestController {
|
|||||||
|
|
||||||
BoosterUtils.sort(cards);
|
BoosterUtils.sort(cards);
|
||||||
PaperCard card = SGuiChoose.one("Choose a card from your opponent's deck", cards);
|
PaperCard card = SGuiChoose.one("Choose a card from your opponent's deck", cards);
|
||||||
model.getCollection().add(card);
|
model.addCardToCollection(card);
|
||||||
model.getNewCards().add(card);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import forge.util.ItemPool;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.EnumMap;
|
import java.util.EnumMap;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -52,9 +53,10 @@ public final class ConquestData {
|
|||||||
private PaperCard planeswalker;
|
private PaperCard planeswalker;
|
||||||
private ISkinImage planeswalkerToken;
|
private ISkinImage planeswalkerToken;
|
||||||
private ConquestLocation currentLocation;
|
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 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 HashMap<String, Deck> decks = new HashMap<String, Deck>();
|
||||||
private final ItemPool<InventoryItem> decksUsingMyCards = new ItemPool<InventoryItem>(InventoryItem.class);
|
private final ItemPool<InventoryItem> decksUsingMyCards = new ItemPool<InventoryItem>(InventoryItem.class);
|
||||||
private final HashSet<PaperCard> newCards = new HashSet<PaperCard>();
|
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);
|
currentLocation = new ConquestLocation(startingPlane, -1, 0, Region.PORTAL_COL);
|
||||||
planeswalker = planeswalker0;
|
planeswalker = planeswalker0;
|
||||||
planeswalkerToken = PlaneswalkerAchievements.getTrophyImage(planeswalker.getName());
|
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() {
|
public String getName() {
|
||||||
@@ -115,6 +124,15 @@ public final class ConquestData {
|
|||||||
return collection;
|
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() {
|
public ConquestDeckMap getDeckStorage() {
|
||||||
return new ConquestDeckMap(decks);
|
return new ConquestDeckMap(decks);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user