update DeckProxy

- replaced easystarter to custom since it is using definition from JSON now on adventure
This commit is contained in:
Anthony Calosa
2022-08-10 09:15:07 +08:00
parent d96bbfe450
commit 6762756f83
18 changed files with 11 additions and 361 deletions

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Azorius
[general]
Constructed
[main]
2 Aqueous Form
1 Ardenn, Intrepid Archaeologist
1 Auramancer's Guise
2 Azorius Locket
2 Cartouche of Knowledge
2 Cartouche of Solidarity
1 Danitha Capashen, Paragon
1 Dawn Evangel
2 Ethereal Armor
1 Face of Divinity
1 Graceblade Artisan
2 Heliod's Pilgrim
1 Ironclad Slayer
7 Island
4 Meandering River
7 Plains
1 Sovereigns of Lost Alara
2 Transcendent Envoy
[sideboard]

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Boros
[general]
Constructed
[main]
1 Balefire Liege
2 Battlegate Mimic
1 Boros Charm
2 Boros Locket
2 Boros Recruit
2 Double Cleave
1 Faith Unbroken
1 Flamewright
1 Highspire Mantis
2 Impetuous Sunchaser
1 Lightning Helix
7 Mountain
7 Plains
2 Scourge of the Nobilis
1 Spitemare
1 Squee's Embrace
4 Stone Quarry
2 Temur Battle Rage
[sideboard]

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Dimir
[general]
Constructed
[main]
1 Animate Dead
2 Canal Courier
2 Chainer's Edict
2 Deathcult Rogue
1 Deepchannel Mentor
2 Dimir Locket
2 Gravelgill Duo
2 Hideous End
2 Infiltrate
1 Inkfathom Infiltrator
7 Island
1 Krydle of Baldur's Gate
2 Library Larcenist
1 Soaring Thought-Thief
4 Submerged Boneyard
1 Sure-Footed Infiltrator
6 Swamp
1 Zareth San, the Trickster
[sideboard]

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Golgari
[general]
Constructed
[main]
1 Aspect of Lamprey
2 Elvish Vanguard
1 Fell Specter
7 Forest
4 Foul Orchard
1 Ghost-Lit Stalker
2 Golgari Locket
2 Headless Specter
2 Hideous End
2 Ivy Lane Denizen
1 Liliana's Caress
2 Mind Drain
1 Nath of the Gilt-Leaf
1 Nullmage Shepherd
1 Poison-Tip Archer
1 Raiders' Wake
7 Swamp
2 Winnower Patrol
[sideboard]

View File

@@ -1,25 +0,0 @@
[metadata]
Name=Gruul
[general]
Constructed
[main]
2 Annoyed Altisaur
1 Charging Tuskodon
2 Commune with Dinosaurs
1 Dinosaur Stampede
7 Forest
2 Grazing Whiptail
2 Gruul Locket
2 Knight of the Stampede
1 Manamorphose
1 Momentum Rumbler
6 Mountain
1 Pyretic Ritual
2 Pyroceratops
1 Raging Regisaur
1 Raging Swordtooth
2 Ram Through
1 Regisaur Alpha
1 Savage Stomp
4 Timber Gorge
[sideboard]

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Izzet
[general]
Constructed
[main]
2 Careful Study
2 Electrickery
2 Goblin Wizardry
4 Highland Lake
1 Incursion Specialist
6 Island
1 Izzet Charm
2 Izzet Locket
1 Izzet Staticaster
1 Jori En, Ruin Diver
2 Lotus Path Djinn
2 Mage-Ring Bully
7 Mountain
1 Pyromancer's Assault
1 Quicksilver Dagger
2 Thorned Moloch
2 Thunder Drake
1 Wizard Class
[sideboard]

View File

@@ -1,23 +0,0 @@
[metadata]
Name=Mono Black
[general]
Constructed
[main]
1 Animate Dead
1 Archfiend of Depravity
1 Banewhip Punisher
2 Cartouche of Ambition
2 Chainer's Edict
1 Clattering Augur
1 Dance of the Dead
1 Deadly Dispute
2 Doom Blade
1 Draugr Recruiter
2 Ecstatic Awakener
1 Indulgent Tormentor
1 Reassembling Skeleton
2 Sanitarium Skeleton
2 Soldevi Adnate
1 Stab Wound
18 Swamp
[sideboard]

View File

@@ -1,23 +0,0 @@
[metadata]
Name=Mono Blue
[general]
Constructed
[main]
1 Acquisition Octopus
2 Armguard Familiar
2 Boomerang
1 Broodstar
1 Callaphe, Beloved of the Sea
2 Disruption Protocol
1 Ensoul Artifact
2 Etherium Sculptor
2 Faerie Mechanist
2 Into the Roil
13 Island
1 Mysterious Tome
1 Replication Specialist
4 Seat of the Synod
2 Silver Myr
2 Sky Diamond
1 Trickster's Talisman
[sideboard]

View File

@@ -1,22 +0,0 @@
[metadata]
Name=Mono Green
[general]
Constructed
[main]
2 Ancient Animus
2 Aquastrand Spider
1 Armorcraft Judge
2 Baloth Packhunter
2 Big Play
1 Biogenic Upgrade
1 Blessings of Nature
1 Bramblewood Paragon
1 Cytoplast Root-Kin
2 Deepwood Denizen
2 Earthen Arms
2 Forced Adaptation
18 Forest
1 Leyline Invocation
1 Paradox Zone
1 Renata, Called to the Hunt
[sideboard]

View File

@@ -1,18 +0,0 @@
[metadata]
Name=Mono Red
[general]
Constructed
[main]
10 Dragon's Approach
1 Fire Servant
1 Guttersnipe
2 Kiln Fiend
17 Mountain
2 Pyre Hound
1 Pyromancer Ascension
1 Red Dragon
1 Syr Carah, the Bold
2 Thermo-Alchemist
1 Voltaic Visionary
1 Young Pyromancer
[sideboard]

View File

@@ -1,22 +0,0 @@
[metadata]
Name=Mono White
[general]
Constructed
[main]
1 Angel of Vitality
2 Answered Prayers
1 Blessed Alliance
1 Cleric Class
2 Faith's Fetters
1 Glorious Enforcer
1 Goldnight Redeemer
2 Inspiring Overseer
2 Invoke the Divine
1 Ixalan's Binding
2 Martyr of Sands
18 Plains
1 Righteous Valkyrie
2 Seraph of Dawn
2 Suture Priest
1 You're Ambushed on the Road
[sideboard]

View File

@@ -1,25 +0,0 @@
[metadata]
Name=Orzhov
[general]
Constructed
[main]
2 Basilica Screecher
1 Blood Artist
1 Exile
1 Faith Unbroken
4 Forsaken Sanctuary
2 Herald of Hadar
2 Hideous End
2 Marauding Blight-Priest
1 Obzedat, Ghost Council
1 Okiba Reckoner Raid
2 Orzhov Locket
4 Plains
1 Restless Bloodseeker
1 Retreat to Hagra
1 Sanguine Bond
2 Sovereign's Bite
2 Suture Priest
9 Swamp
1 Vizkopa Guildmage
[sideboard]

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Rakdos
[general]
Constructed
[main]
4 Cinder Barrens
1 Falkenrath Exterminator
1 Florian, Voldaren Scion
2 Gift of Fangs
2 Hideous End
1 Hungry for More
2 Mark of the Vampire
2 Midnight Assassin
6 Mountain
2 Nocturnal Feeder
2 Rakdos Locket
1 Rakish Heir
1 Stromkirk Captain
7 Swamp
1 Vampire Nighthawk
1 Vampire Socialite
2 Vampire Spawn
2 Vampire's Kiss
[sideboard]

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Selesnya
[general]
Constructed
[main]
1 Abzan Beastmaster
1 Archon of Valor's Reach
2 Armadillo Cloak
1 Assault Formation
1 Belligerent Brontodon
2 Cartouche of Strength
7 Forest
2 Looming Altisaur
7 Plains
1 Qasali Ambusher
2 Savage Punch
2 Selesnya Locket
1 Selesnya Sagittars
1 Shinen of Life's Roar
2 Stampeding Elk Herd
4 Tranquil Expanse
2 Treefolk Umbra
1 Unflinching Courage
[sideboard]

View File

@@ -1,24 +0,0 @@
[metadata]
Name=Simic
[general]
Constructed
[main]
1 Briarbridge Patrol
1 Byway Courier
2 Confront the Unknown
2 Drownyard Explorers
1 Erdwal Illuminator
2 Floodhound
7 Forest
2 Funnel-Web Recluse
1 Graf Mole
7 Island
1 Lonis, Cryptozoologist
1 Magnifying Glass
1 Ongoing Investigation
2 Secrets of the Key
2 Simic Locket
1 Ulvenwald Mysteries
2 Wavesifter
4 Woodland Stream
[sideboard]

View File

@@ -331,7 +331,7 @@ public class DeckProxy implements InventoryItem {
if (pc.getKey().getRules().getManaCost() != null) { if (pc.getKey().getRules().getManaCost() != null) {
if (pc.getKey().getRules().getType().hasSubtype("Saga") || pc.getKey().getRules().getType().hasSubtype("Class") || CardSplitType.Split.equals(pc.getKey().getRules().getSplitType())) if (pc.getKey().getRules().getType().hasSubtype("Saga") || pc.getKey().getRules().getType().hasSubtype("Class") || CardSplitType.Split.equals(pc.getKey().getRules().getSplitType()))
continue; continue;
keyCMC.put(pc.getKey(),pc.getKey().getRules().getManaCost().getCMC()); keyCMC.put(pc.getKey(),pc.getKey().getRules().getManaCost().getCMC());
} }
} }
@@ -659,9 +659,10 @@ public class DeckProxy implements InventoryItem {
return decks; return decks;
} }
public static List<DeckProxy> getAllEasyStarterDecks() { //todo custom starter decks in adventure
public static List<DeckProxy> getAllCustomStarterDecks() {
final List<DeckProxy> decks = new ArrayList<>(); final List<DeckProxy> decks = new ArrayList<>();
final IStorage<Deck> easy = FModel.getDecks().getEasyStarterDecks(); final IStorage<Deck> easy = FModel.getDecks().getCustomStarterDecks();
addDecksRecursivelly("Constructed", GameType.Constructed, decks, "", easy, null); addDecksRecursivelly("Constructed", GameType.Constructed, decks, "", easy, null);
return decks; return decks;
} }

View File

@@ -89,8 +89,6 @@ public final class ForgeConstants {
public static final String TUTORIAL_DIR = RES_DIR + "tutorial" + PATH_SEPARATOR; public static final String TUTORIAL_DIR = RES_DIR + "tutorial" + PATH_SEPARATOR;
public static final String DECK_GEN_DIR = RES_DIR + "deckgendecks" + PATH_SEPARATOR; public static final String DECK_GEN_DIR = RES_DIR + "deckgendecks" + PATH_SEPARATOR;
public static final String GENETIC_AI_DECK_DIR = RES_DIR + "geneticaidecks" + PATH_SEPARATOR; public static final String GENETIC_AI_DECK_DIR = RES_DIR + "geneticaidecks" + PATH_SEPARATOR;
public static final String EASY_STARTER_DECK_DIR = RES_DIR + "easystarterdecks" + PATH_SEPARATOR;
private static final String QUEST_DIR = RES_DIR + "quest" + PATH_SEPARATOR; private static final String QUEST_DIR = RES_DIR + "quest" + PATH_SEPARATOR;
public static final String QUEST_WORLD_DIR = QUEST_DIR + "world" + PATH_SEPARATOR; public static final String QUEST_WORLD_DIR = QUEST_DIR + "world" + PATH_SEPARATOR;
@@ -253,6 +251,7 @@ public final class ForgeConstants {
public static final String USER_CUSTOM_CARDS_DIR = USER_CUSTOM_DIR + "cards" + PATH_SEPARATOR; public static final String USER_CUSTOM_CARDS_DIR = USER_CUSTOM_DIR + "cards" + PATH_SEPARATOR;
public static final String USER_CUSTOM_TOKENS_DIR = USER_CUSTOM_DIR + "tokens" + PATH_SEPARATOR; public static final String USER_CUSTOM_TOKENS_DIR = USER_CUSTOM_DIR + "tokens" + PATH_SEPARATOR;
public static final String USER_FORMATS_DIR = USER_CUSTOM_DIR + "formats" + PATH_SEPARATOR; public static final String USER_FORMATS_DIR = USER_CUSTOM_DIR + "formats" + PATH_SEPARATOR;
public static final String CUSTOM_STARTER_DECK_DIR = USER_CUSTOM_DIR + "starterdecks" + PATH_SEPARATOR;
public static final String USER_ADVENTURE_DIR = USER_DIR + "adventure" + PATH_SEPARATOR; public static final String USER_ADVENTURE_DIR = USER_DIR + "adventure" + PATH_SEPARATOR;
public static final String DECK_DRAFT_DIR = DECK_BASE_DIR + "draft" + PATH_SEPARATOR; public static final String DECK_DRAFT_DIR = DECK_BASE_DIR + "draft" + PATH_SEPARATOR;
public static final String DECK_WINSTON_DIR = DECK_BASE_DIR + "winston" + PATH_SEPARATOR; public static final String DECK_WINSTON_DIR = DECK_BASE_DIR + "winston" + PATH_SEPARATOR;

View File

@@ -46,7 +46,7 @@ public class CardCollections {
private IStorage<Deck> tinyLeaders; private IStorage<Deck> tinyLeaders;
private IStorage<Deck> brawl; private IStorage<Deck> brawl;
private IStorage<Deck> genetic; private IStorage<Deck> genetic;
private IStorage<Deck> easy; private IStorage<Deck> customStarter;
public CardCollections() { public CardCollections() {
} }
@@ -156,11 +156,11 @@ public class CardCollections {
return genetic; return genetic;
} }
public final IStorage<Deck> getEasyStarterDecks() { public final IStorage<Deck> getCustomStarterDecks() {
if (easy == null) { if (customStarter == null) {
easy = new StorageImmediatelySerialized<>("Easy Starter decks", customStarter = new StorageImmediatelySerialized<>("Custom Starter decks",
new DeckStorage(new File(ForgeConstants.EASY_STARTER_DECK_DIR), ForgeConstants.RES_DIR)); new DeckStorage(new File(ForgeConstants.CUSTOM_STARTER_DECK_DIR), ForgeConstants.USER_CUSTOM_DIR));
} }
return easy; return customStarter;
} }
} }