- Deleted some keyworded spell entries in CardFactory_Instants.java.

- Coverted to keyword: Reprisal, Smother, Volcanic Fallout.
- Added Reverberate, Twitch.
This commit is contained in:
jendave
2011-08-06 08:18:19 +00:00
parent fa8dcf8cc1
commit 8e4b035fe7
7 changed files with 56 additions and 407 deletions

2
.gitattributes vendored
View File

@@ -2941,6 +2941,7 @@ res/cardsfolder/resuscitate.txt -text svneol=native#text/plain
res/cardsfolder/retribution_of_the_meek.txt -text svneol=native#text/plain
res/cardsfolder/return_to_battle.txt -text svneol=native#text/plain
res/cardsfolder/reveillark.txt -text svneol=native#text/plain
res/cardsfolder/reverberate.txt -text svneol=native#text/plain
res/cardsfolder/revered_dead.txt -text svneol=native#text/plain
res/cardsfolder/reverence.txt -text svneol=native#text/plain
res/cardsfolder/reviving_dose.txt -text svneol=native#text/plain
@@ -3897,6 +3898,7 @@ res/cardsfolder/twinblade_slasher.txt -text svneol=native#text/plain
res/cardsfolder/twincast.txt -text svneol=native#text/plain
res/cardsfolder/twisted_abomination.txt -text svneol=native#text/plain
res/cardsfolder/twisted_experiment.txt -text svneol=native#text/plain
res/cardsfolder/twitch.txt -text svneol=native#text/plain
res/cardsfolder/tyrranax.txt -text svneol=native#text/plain
res/cardsfolder/uktabi_drake.txt -text svneol=native#text/plain
res/cardsfolder/uktabi_efreet.txt -text svneol=native#text/plain

View File

@@ -2,6 +2,7 @@ Name:Reprisal
ManaCost:1 W
Types:Instant
Text:Destroy target creature with power 4 or greater. It can't be regenerated.
K:spDestroyTgt:Creature.powerGE4:NoRegen
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/reprisal.jpg
End

View File

@@ -0,0 +1,7 @@
Name:Reverberate
ManaCost:R R
Types:Instant
Text:Copy target instant or sorcery spell. You may choose new targets for the copy.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/reverberate.jpg
End

View File

@@ -2,6 +2,7 @@ Name:Smother
ManaCost:1 B
Types:Instant
Text:Destroy target creature with converted mana cost 3 or less. It can't be regenerated.
K:spDestroyTgt:Creature.cmcLE3:NoRegen
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/smother.jpg
End

View File

@@ -0,0 +1,9 @@
Name:Twitch
ManaCost:U
Types:Instant
Text:You may tap or untap target artifact, creature, or land.
K:Draw a card.
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/twitch.jpg
End

View File

@@ -1,8 +1,9 @@
Name:Volcanic Fallout
ManaCost:1 R R
Types:Instant
Text:Volcanic Fallout deals 2 damage to each creature and each player.
Text:no text
K:CARDNAME can't be countered.
K:spDamageAll:Player,Creature:2:Volcanic Fallout deals 2 damage to each creature and each player.
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/volcanic_fallout.jpg
End

View File

@@ -388,55 +388,6 @@ public class CardFactory_Instants {
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
}//*************** END ************ END **************************
/* converted to spBounceTgt keyword
//*************** START *********** START **************************
else if(cardName.equals("Swords to Plowshares")) {
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 4752934806606319269L;
@Override
public void resolve() {
if(AllZone.GameAction.isCardInPlay(getTargetCard())
&& CardFactoryUtil.canTarget(card, getTargetCard())) {
//add life
String player = getTargetCard().getController();
PlayerLife life = AllZone.GameAction.getPlayerLife(player);
life.addLife(getTargetCard().getNetAttack());
//remove card from play
AllZone.GameAction.removeFromGame(getTargetCard());
}
}//resolve()
@Override
public boolean canPlayAI() {
CardList creature = new CardList(AllZone.Human_Play.getCards());
creature = creature.getType("Creature");
creature = creature.filter(new CardListFilter() {
public boolean addCard(Card c) {
return CardFactoryUtil.canTarget(card, c);
}
});
return creature.size() != 0 && (AllZone.Phase.getTurn() > 4);
}
@Override
public void chooseTargetAI() {
CardList play = new CardList(AllZone.Human_Play.getCards());
Card target = CardFactoryUtil.AI_getBestCreature(play, card);
if(target != null) setTargetCard(target);
}
};
spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell));
card.clearSpellAbility();
card.addSpellAbility(spell);
card.setSVar("PlayMain1", "TRUE");
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
else if(cardName.equals("Crib Swap")) {
@@ -490,9 +441,6 @@ public class CardFactory_Instants {
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
@@ -549,6 +497,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Beacon of Destruction")) {
final SpellAbility spell = new Spell(card) {
@@ -911,44 +860,7 @@ public class CardFactory_Instants {
card.addSpellAbility(bounce);
card.addSpellAbility(spell);
}//*************** END ************ END **************************
/* converted to spMakeToken keyword
//*************** START *********** START **************************
else if(cardName.equals("Raise the Alarm")) {
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 3022771853846089829L;
@Override
public void resolve() {
for(int i = 0; i < 2; i++)
CardFactoryUtil.makeToken("Soldier", "W 1 1 Soldier", card, "W", new String[] {
"Creature", "Soldier"}, 1, 1, new String[] {""});
}//resolve()
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
*/
/* converted to spMakeToken keyword
//*************** START *********** START **************************
else if(cardName.equals("Hunting Pack")) {
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 143904782338241969L;
@Override
public boolean canPlayAI() {
return AllZone.Phase.getPhase().equals(Constant.Phase.Main2);
}
@Override
public void resolve() {
CardFactoryUtil.makeToken("Beast", "G 4 4 Beast", card, "G", new String[] {
"Creature", "Beast"}, 4, 4, new String[] {""});
}//resolve()
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
else if(cardName.equals("Astral Steel")) {
@@ -1140,6 +1052,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Reiterate")) {
final SpellAbility spell_one = new Spell(card) {
@@ -1268,8 +1181,9 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Twincast")) {
else if(cardName.equals("Twincast") || cardName.equals("Reverberate")) {
final SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = -659841515428746L;
@@ -1320,6 +1234,7 @@ public class CardFactory_Instants {
spell.setBeforePayMana(runtime);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Wing Shards")) {
final SpellAbility spell = new Spell(card) {
@@ -1370,7 +1285,6 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Fact or Fiction")) {
final SpellAbility spell = new Spell(card) {
@@ -1488,6 +1402,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
if(cardName.equals("Brain Freeze")) {
final SpellAbility spell = new Spell(card) {
@@ -1511,23 +1426,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
/* converted to spMakeToken keyword
//*************** START *********** START **************************
else if(cardName.equals("Reach of Branches")) {
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 2723115210677439611L;
@Override
public void resolve() {
CardFactoryUtil.makeToken("Treefolk Shaman", "G 2 5 Treefolk Shaman", card, "G", new String[] {
"Creature", "Treefolk", "Shaman"}, 2, 5, new String[] {""});
}//resolve()
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
*/
/*
//*************** START *********** START **************************
else if(cardName.equals("Volcanic Fallout")) {
SpellAbility spell = new Spell(card) {
@@ -1572,8 +1471,7 @@ public class CardFactory_Instants {
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
else if (cardName.equals("Renewed Faith")) {
@@ -1771,8 +1669,6 @@ public class CardFactory_Instants {
spell.setBeforePayMana(CardFactoryUtil.input_targetPlayer(spell));
}//*************** END ************ END **************************
//*************** START *********** START **************************
@@ -1829,6 +1725,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Mana Leak") || cardName.equals("Convolute") || cardName.equals("Daze")
|| cardName.equals("Force Spike") || cardName.equals("Runeboggle")
@@ -2012,8 +1909,6 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Echoing Truth")) {
final SpellAbility spell = new Spell(card) {
@@ -2154,7 +2049,6 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Worldly Tutor")) {
SpellAbility spell = new Spell(card) {
@@ -2212,149 +2106,6 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
/* Converted to keyword
//*************** START *********** START **************************
else if(cardName.equals("Enlightened Tutor")) {
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 2281623056004772379L;
@Override
public boolean canPlayAI() {
return 4 < AllZone.Phase.getTurn();
}
@Override
public void resolve() {
String player = card.getController();
if(player.equals(Constant.Player.Human)) humanResolve();
else computerResolve();
}
public void computerResolve() {
CardList list = new CardList(AllZone.Computer_Library.getCards());
CardList encharts = new CardList();
for(int i = 0; i < list.size(); i++) {
if(list.get(i).getType().contains("Artifact")
|| list.get(i).getType().contains("Enchantment")) encharts.add(list.get(i));
}
if(encharts.size() != 0) {
//comp will just grab the first one it finds
Card c = encharts.get(0);
AllZone.GameAction.shuffle(card.getController());
//move to top of library
AllZone.Computer_Library.remove(c);
AllZone.Computer_Library.add(c, 0);
CardList l = new CardList();
l.add(c);
AllZone.Display.getChoiceOptional("Computer picked:", l.toArray());
}
}//computerResolve()
public void humanResolve() {
PlayerZone library = AllZone.getZone(Constant.Zone.Library, card.getController());
CardList list = new CardList(library.getCards());
CardList encharts = new CardList();
for(int i = 0; i < list.size(); i++) {
if(list.get(i).getType().contains("Artifact")
|| list.get(i).getType().contains("Enchantment")) encharts.add(list.get(i));
}
if(encharts.size() != 0) {
Object o = AllZone.Display.getChoiceOptional("Select an artifact or enchantment",
encharts.toArray());
AllZone.GameAction.shuffle(card.getController());
if(o != null) {
//put card on top of library
library.remove(o);
library.add((Card) o, 0);
}
}//if
}//resolve()
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
*/
/* Converted to keyword
//*************** START *********** START **************************
else if(cardName.equals("Mystical Tutor")) {
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 2281623056004772379L;
@Override
public boolean canPlayAI() {
return 4 < AllZone.Phase.getTurn();
}
@Override
public void resolve() {
String player = card.getController();
if(player.equals(Constant.Player.Human)) humanResolve();
else computerResolve();
}
public void computerResolve() {
CardList list = new CardList(AllZone.Computer_Library.getCards());
CardList instantsAndSorceries = new CardList();
for(int i = 0; i < list.size(); i++) {
if(list.get(i).getType().contains("Instant") || list.get(i).getType().contains("Sorcery")) instantsAndSorceries.add(list.get(i));
}
if(instantsAndSorceries.size() != 0) {
//comp will just grab the first one it finds
Card c = instantsAndSorceries.get(0);
AllZone.GameAction.shuffle(card.getController());
//move to top of library
AllZone.Computer_Library.remove(c);
AllZone.Computer_Library.add(c, 0);
CardList l = new CardList();
l.add(c);
AllZone.Display.getChoiceOptional("Computer picked:", l.toArray());
}
}//computerResolve()
public void humanResolve() {
PlayerZone library = AllZone.getZone(Constant.Zone.Library, card.getController());
CardList list = new CardList(library.getCards());
CardList instantsAndSorceries = new CardList();
for(int i = 0; i < list.size(); i++) {
if(list.get(i).getType().contains("Instant") || list.get(i).getType().contains("Sorcery")) instantsAndSorceries.add(list.get(i));
}
if(instantsAndSorceries.size() != 0) {
Object o = AllZone.Display.getChoiceOptional("Select an instant or sorcery",
instantsAndSorceries.toArray());
AllZone.GameAction.shuffle(card.getController());
if(o != null) {
//put card on top of library
library.remove(o);
library.add((Card) o, 0);
}
}//if
}//resolve()
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
else if(cardName.equals("Think Twice")) {
@@ -2373,6 +2124,7 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Elephant Ambush")) {
SpellAbility spell = new Spell(card) {
@@ -2397,6 +2149,7 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Beast Attack")) {
SpellAbility spell = new Spell(card) {
@@ -2430,6 +2183,7 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Sprout")) {
SpellAbility spell = new Spell(card) {
@@ -2451,6 +2205,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Wrap in Vigor")) {
SpellAbility spell = new Spell(card) {
@@ -2493,6 +2248,7 @@ public class CardFactory_Instants {
card.setSVar("PlayMain1", "TRUE");
}//*************** END ************ END **************************
/*
//*************** START *********** START **************************
else if(cardName.equals("Smother")) {
final SpellAbility spell = new Spell(card) {
@@ -2558,8 +2314,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
spell.setBeforePayMana(target);
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
else if(cardName.equals("Strangling Soot")) {
@@ -2869,6 +2624,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Eladamri's Call")) {
final SpellAbility spell = new Spell(card) {
@@ -2928,6 +2684,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Momentous Fall")) {
final SpellAbility spell = new Spell(card) {
@@ -2987,6 +2744,7 @@ public class CardFactory_Instants {
spell.setAfterPayMana(target);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Overwhelming Intellect")) {
SpellAbility spell = new Spell(card) {
@@ -3310,7 +3068,6 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Tithe")) {
SpellAbility spell = new Spell(card) {
@@ -3349,6 +3106,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Nameless Inversion")) {
SpellAbility spell = new Spell(card) {
@@ -3513,8 +3271,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Seething Song")) {
final SpellAbility spell = new Spell(card) {
@@ -3545,6 +3302,7 @@ public class CardFactory_Instants {
return card;
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Dark Ritual")) {
final SpellAbility spell = new Spell(card) {
@@ -3577,8 +3335,7 @@ public class CardFactory_Instants {
return card;
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if (cardName.equals("Pyretic Ritual")) {
final SpellAbility spell = new Spell(card) {
@@ -3639,7 +3396,6 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Path to Exile")) {
SpellAbility spell = new Spell(card) {
@@ -4056,25 +3812,6 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
/* converted to spMakeToken keyword
//*************** START *********** START **************************
else if(cardName.equals("Join the Ranks")) {
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 2700238195526474372L;
@Override
public void resolve() {
CardFactoryUtil.makeToken("Soldier Ally", "W 1 1 Soldier Ally", card, "W",
new String[] {"Creature", "Soldier", "Ally"}, 1, 1, new String[] {""});
CardFactoryUtil.makeToken("Soldier Ally", "W 1 1 Soldier Ally", card, "W",
new String[] {"Creature", "Soldier", "Ally"}, 1, 1, new String[] {""});
}//resolve()
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
else if (cardName.equals("Squall Line"))
@@ -4235,6 +3972,7 @@ public class CardFactory_Instants {
}
//*************** END ************ END **************************
//*************** START *********** START **************************
else if (cardName.equals("Windstorm"))
{
@@ -4290,10 +4028,6 @@ public class CardFactory_Instants {
//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Echoing Courage"))
{
@@ -4487,8 +4221,7 @@ public class CardFactory_Instants {
}
//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Vitalizing Cascade"))
{
@@ -4518,6 +4251,7 @@ public class CardFactory_Instants {
}
//*************** END ************ END **************************
/*
//*************** START *********** START **************************
else if (cardName.equals("Reprisal")) {
final SpellAbility spell = new Spell(card) {
@@ -4583,7 +4317,8 @@ public class CardFactory_Instants {
spell.setBeforePayMana(target);
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
else if(cardName.equals("Reinforcements")) {
/* Put up to three target creature cards from your
@@ -4721,8 +4456,6 @@ public class CardFactory_Instants {
} //*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Natural Selection")) {
@@ -4751,6 +4484,7 @@ public class CardFactory_Instants {
}
//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Hurkyl's Recall")) {
/*
@@ -4806,61 +4540,6 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
spell.setBeforePayMana(CardFactoryUtil.input_targetPlayer(spell));
}//*************** END ************ END **************************
//*************** START *********** START **************************
/*else if(cardName.equals("Fracturing Gust")) {
/*
* Destroy all artifacts and enchantments.
* You gain 2 life for each permanent destroyed this way.
*
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 6940814538785932457L;
@Override
public void resolve() {
final String player = AllZone.Phase.getActivePlayer();
int numLifeToAdd = 0;
CardList all = new CardList();
all.addAll(AllZone.Human_Play.getCards());
all.addAll(AllZone.Computer_Play.getCards());
all = all.filter(artAndEn);
for(int i = 0; i < all.size(); i++) {
Card c = all.get(i);
if(AllZone.GameAction.destroy(c)) {
numLifeToAdd++;
}
}
AllZone.GameAction.getPlayerLife(player).addLife(numLifeToAdd*2);
}// resolve()
@Override
public boolean canPlayAI() {
CardList human = new CardList(AllZone.Human_Play.getCards());
CardList computer = new CardList(AllZone.Computer_Play.getCards());
human = human.filter(artAndEn);
computer = computer.filter(artAndEn);
if(human.size() == 0) return false;
// the computer will at least destroy 2 more human enchantments
return computer.size() < human.size() - 1
|| (AllZone.Computer_Life.getLife() < 7 && !human.isEmpty());
}//canPlayAI
private CardListFilter artAndEn = new CardListFilter() {
public boolean addCard(Card c) {
return c.isArtifact() || c.isEnchantment();
}
};
};// SpellAbility
spell.setStackDescription(card.getName() + " - destroy all artifacts and enchantments.");
card.clearSpellAbility();
card.addSpellAbility(spell);
}// *************** END ************ END **************************
*/
//*************** START *********** START **************************
@@ -4987,8 +4666,9 @@ public class CardFactory_Instants {
spell.setBeforePayMana(CardFactoryUtil.input_targetCreaturePlayer(spell, true, false));
}//*************** END ************ END **************************
//*****************************START*******************************
else if(cardName.equals("Twiddle")) {
else if(cardName.equals("Twiddle") || cardName.equals("Twitch")) {
/*
* You may tap or untap target artifact, creature, or land.
*/
@@ -5018,6 +4698,7 @@ public class CardFactory_Instants {
}//end Twiddle
//****************END*******END***********************
//*************** START *********** START **************************
else if(cardName.equals("Storm Seeker")) {
/*
@@ -5110,60 +4791,6 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
/* Converted to keyword
else if(cardName.equals("Consume the Meek")) {
/* Destroy each creature with converted mana cost 3 or less.
* They can't be regenerated.
SpellAbility spell = new Spell(card) {
private static final long serialVersionUID = 9127892501403187034L;
@Override
public void resolve() {
CardList all = new CardList();
all.add(getHumanCreatures());
all.add(getComputerCreatures());
for(int i = 0; i < all.size(); i++) {
Card c = all.get(i);
AllZone.GameAction.destroyNoRegeneration(c);
}
}// resolve()
CardListFilter filter = new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature() && CardUtil.getConvertedManaCost(c) <= 3;
}
};
private CardList getHumanCreatures() {
CardList human = AllZoneUtil.getPlayerCardsInPlay(Constant.Player.Human);
return human.filter(filter);
}
private CardList getComputerCreatures() {
CardList comp = AllZoneUtil.getPlayerCardsInPlay(Constant.Player.Computer);
return comp.filter(filter);
}
@Override
public boolean canPlayAI() {
CardList human = getHumanCreatures();
human = human.getNotKeyword("Indestructible");
CardList computer = getComputerCreatures();
computer = computer.getNotKeyword("Indestructible");
// the computer will at least destroy 2 more human creatures
return AllZone.Phase.getPhase().equals(Constant.Phase.Main2) &&
(computer.size() < human.size() - 1
|| (AllZone.Computer_Life.getLife() < 7 && !human.isEmpty()));
}
};// SpellAbility
card.clearSpellAbility();
card.addSpellAbility(spell);
}// *************** END ************ END **************************
*/
//*************** START *********** START **************************
else if(cardName.equals("Machinate")) {
@@ -5195,7 +4822,6 @@ public class CardFactory_Instants {
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Inferno")) {
SpellAbility spell = new Spell(card) {
@@ -5292,6 +4918,7 @@ public class CardFactory_Instants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START ********** START *************************
if(cardName.equals("Mana Drain"))//NOTE: The AI can't cast this spell due to inability to use a manapool, but provisions are still made for it for if/when we get to that point.
{
@@ -5411,6 +5038,7 @@ public class CardFactory_Instants {
spell.setBeforePayMana(CardFactoryUtil.input_targetPlayer(spell));
}//*************** END ************ END **************************
//*************** START *********** START **************************
if( cardName.equals("Siren's Call") ) {
/**