mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
Added Random Modern World
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
Name:Main world
|
||||
Name:Random Standard
|
||||
Name:Random Modern
|
||||
Name:Random Commander
|
||||
Name:Amonkhet|Dir:Amonkhet|Sets:AKH, HOU
|
||||
Name:Jamuraa|Dir:jamuraa|Sets:5ED, ARN, MIR, VIS, WTH|Banned:Chaos Orb; Falling Star
|
||||
|
||||
@@ -12,11 +12,24 @@ import java.util.*;
|
||||
|
||||
public class QuestChallengeGenerator {
|
||||
|
||||
public static QuestEventChallengeList generateChallenges(){
|
||||
private GameFormat formatMedium=FModel.getFormats().getModern();
|
||||
private GameFormat formatHard=FModel.getFormats().get("Legacy");
|
||||
private GameFormat formatExpert=FModel.getFormats().get("Vintage");
|
||||
private GameFormat baseFormat;
|
||||
|
||||
QuestChallengeGenerator(GameFormat baseFormat){
|
||||
this.baseFormat=baseFormat;
|
||||
if(baseFormat.getName().equals((FModel.getFormats().getModern().getName()))){
|
||||
formatMedium=FModel.getFormats().get("Legacy");
|
||||
formatHard=FModel.getFormats().get("Vintage");
|
||||
}
|
||||
}
|
||||
|
||||
public QuestEventChallengeList generateChallenges(){
|
||||
Map<String,QuestEventChallenge> challenges = new HashMap<>();
|
||||
int id = 0;
|
||||
for (int i=0;i<5;++i) {
|
||||
QuestEventChallenge qc = getFormatChallenge(FModel.getFormats().getModern());
|
||||
QuestEventChallenge qc = getFormatChallenge(formatMedium);
|
||||
qc.setId(Integer.valueOf(id).toString());
|
||||
qc.setCreditsReward(1000);
|
||||
qc.setWinsReqd(MyRandom.getRandom().nextInt(5));
|
||||
@@ -36,7 +49,7 @@ public class QuestChallengeGenerator {
|
||||
id++;
|
||||
}
|
||||
for (int i=0;i<5;++i) {
|
||||
QuestEventChallenge qc = getFormatChallenge(FModel.getFormats().get("Legacy"));
|
||||
QuestEventChallenge qc = getFormatChallenge(formatHard);
|
||||
qc.setId(Integer.valueOf(id).toString());
|
||||
qc.setCreditsReward(5000);
|
||||
qc.setCardReward("2 multicolor rares");
|
||||
@@ -56,7 +69,7 @@ public class QuestChallengeGenerator {
|
||||
id++;
|
||||
}
|
||||
for (int i=0;i<5;++i) {
|
||||
QuestEventChallenge qc = getFormatChallenge(FModel.getFormats().get("Vintage"));
|
||||
QuestEventChallenge qc = getFormatChallenge(formatExpert);
|
||||
qc.setId(Integer.valueOf(id).toString());
|
||||
qc.setCreditsReward(10000);
|
||||
qc.setCardReward("3 multicolor rares");
|
||||
@@ -78,7 +91,7 @@ public class QuestChallengeGenerator {
|
||||
return new QuestEventChallengeList(challenges);
|
||||
}
|
||||
|
||||
public static QuestEventChallenge getFormatChallenge(GameFormat format){
|
||||
public QuestEventChallenge getFormatChallenge(GameFormat format){
|
||||
QuestEventChallenge qc = new QuestEventChallenge();
|
||||
|
||||
qc.setAiLife(20);
|
||||
@@ -92,11 +105,11 @@ public class QuestChallengeGenerator {
|
||||
return qc;
|
||||
}
|
||||
|
||||
public static QuestEventChallenge getAIHeadstartChallenge(int extras){
|
||||
public QuestEventChallenge getAIHeadstartChallenge(int extras){
|
||||
QuestEventChallenge qc = new QuestEventChallenge();
|
||||
|
||||
qc.setAiLife(20);
|
||||
qc.setEventDeck(DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getStandard(),true));
|
||||
qc.setEventDeck(DeckgenUtil.buildLDACArchetypeDeck(baseFormat,true));
|
||||
qc.setTitle(qc.getEventDeck().getName() + " headstart challenge");
|
||||
qc.setName(qc.getEventDeck().getName() + " headstart challenge");
|
||||
qc.setOpponentName(qc.getEventDeck().getName());
|
||||
@@ -117,7 +130,7 @@ public class QuestChallengeGenerator {
|
||||
return qc;
|
||||
}
|
||||
|
||||
public static class QuestEventChallengeList implements IStorage<QuestEventChallenge>{
|
||||
public class QuestEventChallengeList implements IStorage<QuestEventChallenge>{
|
||||
|
||||
private Map<String,QuestEventChallenge> challenges;
|
||||
|
||||
|
||||
@@ -446,7 +446,10 @@ public class QuestController {
|
||||
|
||||
if (world != null) {
|
||||
if (world.getName().equals(QuestWorld.STANDARDWORLDNAME)) {
|
||||
this.duelManager = new QuestEventLDADuelManager();
|
||||
this.duelManager = new QuestEventLDADuelManager(FModel.getFormats().getStandard());
|
||||
return;
|
||||
} else if (world.getName().equals(QuestWorld.MODERNWORLDNAME)) {
|
||||
this.duelManager = new QuestEventLDADuelManager(FModel.getFormats().getModern());
|
||||
return;
|
||||
}else if (world.isCustom()) {
|
||||
path = world.getDuelsDir() == null ? ForgeConstants.DEFAULT_DUELS_DIR : ForgeConstants.USER_QUEST_WORLD_DIR + world.getDuelsDir();
|
||||
@@ -475,7 +478,12 @@ public class QuestController {
|
||||
if (world != null) {
|
||||
|
||||
if (world.getName().equals(QuestWorld.STANDARDWORLDNAME)) {
|
||||
allChallenges = QuestChallengeGenerator.generateChallenges();
|
||||
QuestChallengeGenerator gen = new QuestChallengeGenerator(FModel.getFormats().getStandard());
|
||||
allChallenges = gen.generateChallenges();
|
||||
return;
|
||||
}else if (world.getName().equals(QuestWorld.STANDARDWORLDNAME)) {
|
||||
QuestChallengeGenerator gen = new QuestChallengeGenerator(FModel.getFormats().getModern());
|
||||
allChallenges = gen.generateChallenges();
|
||||
return;
|
||||
} else if (world.isCustom()) {
|
||||
path = world.getChallengesDir() == null ? ForgeConstants.DEFAULT_CHALLENGES_DIR : ForgeConstants.USER_QUEST_WORLD_DIR + world.getChallengesDir();
|
||||
|
||||
@@ -20,6 +20,7 @@ package forge.quest;
|
||||
|
||||
import forge.deck.DeckgenUtil;
|
||||
import forge.deck.io.Archetype;
|
||||
import forge.game.GameFormat;
|
||||
import forge.model.FModel;
|
||||
|
||||
/**
|
||||
@@ -32,14 +33,16 @@ import forge.model.FModel;
|
||||
public class QuestEventLDADuel extends QuestEventDuel {
|
||||
|
||||
private Archetype archetype;
|
||||
private GameFormat baseFormat;
|
||||
|
||||
/**
|
||||
* Instantiates a new quest duel.
|
||||
*/
|
||||
public QuestEventLDADuel(Archetype archetype) {
|
||||
public QuestEventLDADuel(Archetype archetype, GameFormat baseFormat) {
|
||||
super();
|
||||
this.baseFormat = baseFormat;
|
||||
this.archetype = archetype;
|
||||
this.eventDeck = DeckgenUtil.buildLDACArchetypeDeck(archetype, FModel.getFormats().getStandard(),true);
|
||||
this.eventDeck = DeckgenUtil.buildLDACArchetypeDeck(archetype, baseFormat,true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package forge.quest;
|
||||
|
||||
import forge.deck.CardArchetypeLDAGenerator;
|
||||
import forge.deck.io.Archetype;
|
||||
import forge.game.GameFormat;
|
||||
import forge.model.FModel;
|
||||
import forge.quest.data.QuestPreferences;
|
||||
import forge.quest.data.QuestPreferences.DifficultyPrefs;
|
||||
@@ -42,9 +43,11 @@ public class QuestEventLDADuelManager implements QuestEventDuelManagerInterface
|
||||
|
||||
private List<Archetype> archetypes;
|
||||
private final MapOfLists<QuestEventDifficulty, QuestEventDuel> sortedDuels = new EnumMapOfLists<>(QuestEventDifficulty.class, CollectionSuppliers.<QuestEventDuel>arrayLists());
|
||||
private GameFormat baseFormat;
|
||||
|
||||
public QuestEventLDADuelManager(){
|
||||
archetypes = CardArchetypeLDAGenerator.ldaArchetypes.get(FModel.getFormats().getStandard().getName());
|
||||
public QuestEventLDADuelManager(GameFormat baseFormat){
|
||||
this.baseFormat = baseFormat;
|
||||
archetypes = CardArchetypeLDAGenerator.ldaArchetypes.get(baseFormat.getName());
|
||||
assembleDuelDifficultyLists();
|
||||
}
|
||||
|
||||
@@ -58,7 +61,7 @@ public class QuestEventLDADuelManager implements QuestEventDuelManagerInterface
|
||||
|
||||
int i=0;
|
||||
for(Archetype archetype : archetypes){
|
||||
QuestEventLDADuel duel = new QuestEventLDADuel((archetype));
|
||||
QuestEventLDADuel duel = new QuestEventLDADuel(archetype,baseFormat);
|
||||
duel.setDescription("Randomly generated "+archetype.getName()+" archetype deck.");
|
||||
duel.setName(archetype.getName());
|
||||
duel.setTitle(archetype.getName());
|
||||
|
||||
@@ -40,6 +40,7 @@ public class QuestWorld implements Comparable<QuestWorld>{
|
||||
private final String dir;
|
||||
private final GameFormatQuest format;
|
||||
public static final String STANDARDWORLDNAME = "Random Standard";
|
||||
public static final String MODERNWORLDNAME = "Random Modern";
|
||||
public static final String RANDOMCOMMANDERWORLDNAME = "Random Commander";
|
||||
|
||||
private boolean isCustom;
|
||||
@@ -194,6 +195,12 @@ public class QuestWorld implements Comparable<QuestWorld>{
|
||||
FModel.getFormats().getStandard().getBannedCardNames(),false);
|
||||
}
|
||||
|
||||
if (useName.equalsIgnoreCase(QuestWorld.MODERNWORLDNAME)){
|
||||
useFormat = new GameFormatQuest(QuestWorld.MODERNWORLDNAME,
|
||||
FModel.getFormats().getModern().getAllowedSetCodes(),
|
||||
FModel.getFormats().getModern().getBannedCardNames(),false);
|
||||
}
|
||||
|
||||
if (useName.equalsIgnoreCase(QuestWorld.RANDOMCOMMANDERWORLDNAME)){
|
||||
useFormat = new GameFormatQuest(QuestWorld.RANDOMCOMMANDERWORLDNAME,
|
||||
FModel.getFormats().getFormat("Commander").getAllowedSetCodes(),
|
||||
|
||||
Reference in New Issue
Block a user