mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
add the Channel ability of Arashi, the Sky Asunder. Arashi is now fully implemented.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user