Added the cards Entangling Vines and Glimmerdust Nap and their LQ pic urls. I had to hard-code these cards as I do not thoink that these two can be done strictly via keywords.

This commit is contained in:
jendave
2011-08-06 04:07:02 +00:00
parent ac010bb954
commit 13241c9076
3 changed files with 116 additions and 0 deletions

View File

@@ -38,6 +38,8 @@ snow_covered_mountain.jpg http://www.wizards.com/global/images/magic/gene
snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg
snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
entangling_vines.jpg http://www.wizards.com/global/images/magic/general/entangling_vines.jpg
glimmerdust_nap.jpg http://www.wizards.com/global/images/magic/general/glimmerdust_nap.jpg
genesis.jpg http://www.wizards.com/global/images/magic/general/genesis.jpg
flight_of_fancy.jpg http://www.wizards.com/global/images/magic/general/flight_of_fancy.jpg
elvish_vanguard.jpg http://www.wizards.com/global/images/magic/general/elvish_vanguard.jpg

View File

@@ -1,3 +1,15 @@
Entangling Vines
3 G
Enchantment Aura
Enchanted creature doesn't untap during its controller's untap step.
Enchant tapped creature
Glimmerdust Nap
2 U
Enchantment Aura
Enchanted creature doesn't untap during its controller's untap step.
Enchant tapped creature
Basalt Monolith
3
Artifact

View File

@@ -1148,6 +1148,108 @@ class CardFactory_Auras {
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if (cardName.equals("Entangling Vines") || cardName.equals("Glimmerdust Nap")) {
final SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 843412563175285562L;
@Override
public boolean canPlayAI() {
CardList list = new CardList(AllZone.Human_Play.getCards()); // Target human creature
list = list.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature() && c.isTapped() && CardFactoryUtil.canTarget(card, c) &&
!c.getKeyword().contains("CARDNAME doesn't untap during your untap step.");
}
});
if (list.isEmpty()) {
return false;
} else {
CardListUtil.sortAttack(list);
CardListUtil.sortFlying(list);
setTargetCard(list.get(0));
}
return true;
}//canPlayAI()
@Override
public void resolve() {
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
play.add(card);
Card c = getTargetCard();
if (AllZone.GameAction.isCardInPlay(c) && CardFactoryUtil.canTarget(card, c)) card.enchantCard(c);
}//resolve()
};//SpellAbility
card.clearSpellAbility();
card.addSpellAbility(spell);
Command onEnchant = new Command() {
private static final long serialVersionUID = -8694692627290877222L;
public void execute() {
if (card.isEnchanting()) {
Card crd = card.getEnchanting().get(0);
if (! crd.getKeyword().contains("CARDNAME doesn't untap during your untap step."))
crd.addExtrinsicKeyword("CARDNAME doesn't untap during your untap step.");
}
}//execute()
};//Command
Command onUnEnchant = new Command() {
private static final long serialVersionUID = -8271629765371049921L;
public void execute() {
if(card.isEnchanting()) {
Card crd = card.getEnchanting().get(0);
crd.removeExtrinsicKeyword("CARDNAME doesn't untap during your untap step.");
}
}//execute()
};//Command
Command onLeavesPlay = new Command() {
private static final long serialVersionUID = -8694692627290877222L;
public void execute() {
if(card.isEnchanting()) {
Card crd = card.getEnchanting().get(0);
card.unEnchantCard(crd);
}
}
};
Input runtime = new Input() {
private static final long serialVersionUID = 5974269912215230241L;
@Override
public void showMessage() {
PlayerZone comp = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
PlayerZone hum = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
CardList creatures = new CardList();
creatures.addAll(comp.getCards());
creatures.addAll(hum.getCards());
creatures = creatures.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature() && c.isTapped() && CardFactoryUtil.canTarget(card, c);
}
});
stopSetNext(CardFactoryUtil.input_targetSpecific(spell, creatures, "Select target tapped creature", true, false));
}
};
card.addEnchantCommand(onEnchant);
card.addUnEnchantCommand(onUnEnchant);
card.addLeavesPlayCommand(onLeavesPlay);
spell.setBeforePayMana(runtime);
}//*************** END ************ END **************************
// ************************************************************************