acceptPossibleLandCard and acceptPossibleSpellCard are overwritten in subclass

This reverts commit 803cbb5b21.
master
melvinzhang 2017-02-08 09:19:14 +08:00
parent 4843fa654e
commit f9718bc77b
11 changed files with 23 additions and 3 deletions

View File

@ -94,6 +94,7 @@ public class Ability_Mono_DeckGenerator extends RandomDeckGenerator {
return 1;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
if (hasChoice()) {
return !card.isCreature() || card.hasAbility(ability);

View File

@ -31,6 +31,7 @@ public class Elf_Horde_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.hasSubType(MagicSubType.Elf);
}

View File

@ -41,6 +41,7 @@ public class Fairy_Horde_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.hasSubType(MagicSubType.Faerie);
}

View File

@ -34,6 +34,7 @@ public class Human_Law_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.hasSubType(MagicSubType.Human);
}

View File

@ -38,10 +38,12 @@ public class RandomDeckGenerator {
spellCards.clear();
final List<MagicCardDefinition> cardPool = CardDefinitions.getSpellCards();
for (int rarity = getMinRarity(); rarity <= getMaxRarity(); rarity++) {
for (int rarity = getMinRarity(); rarity <= getMaxRarity(); rarity++) {
for (final MagicCardDefinition card : cardPool) {
if (card.getRarity() >= getMinRarity() && card.getRarity() <= rarity && cubeDefinition.isCardLegal(card)) {
spellCards.add(card);
if (acceptPossibleSpellCard(card)) {
spellCards.add(card);
}
}
}
}
@ -55,6 +57,10 @@ public class RandomDeckGenerator {
return 4;
}
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return true;
}
private void genLands() {
if (cubeDefinition == null) {
return;
@ -62,7 +68,7 @@ public class RandomDeckGenerator {
landCards.clear();
CardDefinitions.getNonBasicLandCards()
.filter(card -> cubeDefinition.isCardLegal(card))
.filter(card -> cubeDefinition.isCardLegal(card) && acceptPossibleLandCard(card))
.forEach(card -> addCopiesToLandCardsList(card, 4));
}
@ -72,6 +78,10 @@ public class RandomDeckGenerator {
}
}
public boolean acceptPossibleLandCard(final MagicCardDefinition card) {
return true;
}
public void generateDeck(final int size, final MagicDeckProfile profile, final MagicDeck deck) {
final DeckGenerator deckGenerator = new DeckGenerator();

View File

@ -48,6 +48,7 @@ public class Token_Madness_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.hasText("token");
}

View File

@ -95,6 +95,7 @@ public class Tribal_Mono_DeckGenerator extends RandomDeckGenerator {
return 1;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
if (hasChoice()) {
return !card.isCreature() || card.hasSubType(tribe);

View File

@ -47,6 +47,7 @@ public class Vampire_Rage_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.hasSubType(MagicSubType.Vampire);
}

View File

@ -33,6 +33,7 @@ public class White_Knights_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.hasSubType(MagicSubType.Knight);
}

View File

@ -44,6 +44,7 @@ public class White_Metal_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.isArtifact();
}

View File

@ -33,6 +33,7 @@ public class Zombie_Madness_DeckGenerator extends RandomDeckGenerator {
return 2;
}
@Override
public boolean acceptPossibleSpellCard(final MagicCardDefinition card) {
return !card.isCreature() || card.hasSubType(MagicSubType.Zombie);
}