Fixed the aura Fear and moved it's changed entry to top of cards.txt file.

This commit is contained in:
jendave
2011-08-06 04:46:39 +00:00
parent 2e90dcedae
commit b5dc21d326
2 changed files with 123 additions and 7 deletions

View File

@@ -1,3 +1,9 @@
Fear
B B
Enchantment Aura
Enchanted creature has fear.
Enchant creature
Fire-Field Ogre
1 U B R
Creature Ogre Mutant
@@ -9521,13 +9527,6 @@ Enchanted creature has shroud.
Enchant creature
enPump:Shroud
Fear
B B
Enchantment Aura
Enchanted creature has fear.
Enchant creature
enPump:Fear
Battle Mastery
2 W
Enchantment Aura

View File

@@ -1263,6 +1263,123 @@ class CardFactory_Auras {
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
}//*************** END ************ END **************************
//**************************************************************
// This card can't be converted to keyword, problem with Fear *
//*************** START *********** START **********************
else if (cardName.equals("Fear")) {
final SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = -6430665444443363057L;
@Override
public boolean canPlayAI() {
CardList list = new CardList(AllZone.Computer_Play.getCards());
list = list.getType("Creature");
if (list.isEmpty()) return false;
//else (is there a Rabid Wombat or a Uril, the Miststalker to target?)
CardList auraMagnetList = new CardList(AllZone.Computer_Play.getCards());
auraMagnetList = auraMagnetList.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature() && (c.getName().equals("Rabid Wombat") || c.getName().equals("Uril, the Miststalker"));
}
});
if (! auraMagnetList.isEmpty()) { // AI has a special target creature(s) to enchant
auraMagnetList.shuffle();
for (int i = 0; i < auraMagnetList.size(); i++) {
if (CardFactoryUtil.canTarget(card, auraMagnetList.get(i))) {
setTargetCard(auraMagnetList.get(i)); // Target only Rabid Wombat or Uril, the Miststalker
return true;
}
}
}
/*
* else target another creature
* Do not enchant card with Defender or Fear or enchant card already enchanted
*/
CardListUtil.sortAttack(list);
CardListUtil.sortFlying(list);
for (int i = 0; i < list.size(); i++) {
if (CardFactoryUtil.canTarget(card, list.get(i)) &&
!list.get(i).getKeyword().contains("Fear") &&
!list.get(i).getKeyword().contains("Defender") &&
!list.get(i).isEnchanted()) {
setTargetCard(list.get(i));
return true;
}
}
return false;
}//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);
System.out.println("Enchanted: " + getTargetCard());
}
}//resolve()
};//SpellAbility
card.clearSpellAbility();
card.addSpellAbility(spell);
Command onEnchant = new Command() {
private static final long serialVersionUID = 2754287307356877714L;
public void execute() {
if (card.isEnchanting()) {
Card crd = card.getEnchanting().get(0);
if (!crd.getIntrinsicKeyword().contains("Fear")) {
crd.addExtrinsicKeyword("Fear");
}
}
}//execute()
};//Command
Command onUnEnchant = new Command() {
private static final long serialVersionUID = 2007362030422979630L;
public void execute() {
if(card.isEnchanting()) {
Card crd = card.getEnchanting().get(0);
crd.removeExtrinsicKeyword("Fear");
}
}//execute()
};//Command
Command onLeavesPlay = new Command() {
private static final long serialVersionUID = -8020540432500093584L;
public void execute() {
if (card.isEnchanting()) {
Card crd = card.getEnchanting().get(0);
card.unEnchantCard(crd);
}
}//execute()
};//Command
card.addEnchantCommand(onEnchant);
card.addUnEnchantCommand(onUnEnchant);
card.addLeavesPlayCommand(onLeavesPlay);
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if (cardName.equals("Entangling Vines") || cardName.equals("Glimmerdust Nap") ||
cardName.equals("Melancholy") || cardName.equals("Mystic Restraints") ||