add the Channel ability of Arashi, the Sky Asunder. Arashi is now fully implemented.

This commit is contained in:
jendave
2011-08-06 14:01:03 +00:00
parent 4b865a6329
commit 145cf071c2
3 changed files with 50 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
Name:Arashi, the Sky Asunder
ManaCost:3 G G
Types:Legendary Creature Spirit
Text:(NOTE: "Channel - X G G, Discard Arashi: Arashi deals X damage to each creature with flying." not implemented.)
Text:no text
PT:5/5
A:AB$DealDamage | Cost$ X G T | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target flying creature. | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature with flying.
SVar:X:Count$xPaid

View File

@@ -697,4 +697,11 @@ public class AllZoneUtil {
lands.add(getPlayerLandsInPlay(AllZone.ComputerPlayer));
return lands;
}
public static ArrayList<Player> getPlayersInGame() {
ArrayList<Player> list = new ArrayList<Player>();
list.add(AllZone.HumanPlayer);
list.add(AllZone.ComputerPlayer);
return list;
}
}

View File

@@ -13511,6 +13511,48 @@ public class CardFactory_Creatures {
card.addComesIntoPlayCommand(commandComes);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Arashi, the Sky Asunder")) {
Ability_Cost abCost = new Ability_Cost("X G G Discard<1/CARDNAME>", cardName, true);
Ability_Activated ability = new Ability_Activated(card, abCost, null) {
private static final long serialVersionUID = -3230406552520874483L;
@Override
public boolean canPlayAI() {
return false;
/*
CardList human = AllZoneUtil.getCreaturesInPlay(AllZone.HumanPlayer);
human = human.filter(AllZoneUtil.getKeywordFilter("Flying"));
CardList computer = AllZoneUtil.getCreaturesInPlay(AllZone.ComputerPlayer);
computer = computer.filter(AllZoneUtil.getKeywordFilter("Flying"));
return AllZone.ComputerPlayer.getLife() > 8 && !(human.size() == 0 && 0 < computer.size());
*/
}
@Override
public void resolve() {
int damage = card.getXManaCostPaid();
CardList list = AllZoneUtil.getCreaturesInPlay();
list = list.filter(AllZoneUtil.getKeywordFilter("Flying"));
for(Card c:list) c.addDamage(damage, card);
for(Player p:AllZoneUtil.getPlayersInGame()) p.addDamage(damage, card);
card.setXManaCostPaid(0);
}//resolve()
};//SpellAbility
ability.setDescription("Channel - "+abCost+cardName+" deals X damage to each creature with flying and each player.");
ability.getRestrictions().setActivateZone(Constant.Zone.Hand);
StringBuilder sb = new StringBuilder();
sb.append(card).append(" deals X damage to each creature with flying and each player.");
ability.setStackDescription(sb.toString());
card.addSpellAbility(ability);
card.setSVar("PlayMain1", "TRUE");
}//*************** END ************ END **************************
if(hasKeyword(card, "Level up") != -1 && hasKeyword(card, "maxLevel") != -1)
{