add Arena of the Ancients from Legends

This commit is contained in:
jendave
2011-08-06 04:20:55 +00:00
parent 89e787fff2
commit a6ce06acd4
6 changed files with 80 additions and 6 deletions

View File

@@ -38,6 +38,7 @@ 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
arena_of_the_ancients.jpg http://www.wizards.com/global/images/magic/general/arena_of_the_ancients.jpg
energy_tap.jpg http://www.wizards.com/global/images/magic/general/energy_tap.jpg
divine_offering.jpg http://www.wizards.com/global/images/magic/general/divine_offering.jpg
argothian_pixies.jpg http://www.wizards.com/global/images/magic/general/argothian_pixies.jpg

View File

@@ -1,3 +1,8 @@
Arena of the Ancients
3
Artifact
Legendary creatures don't untap during their controllers' untap steps. When Arena of the Ancients enters the battlefield, tap all legendary creatures.
Energy Tap
U
Sorcery

View File

@@ -34,12 +34,6 @@ public class AllZoneUtil {
return creatures.filter(AllZoneUtil.creatures);
}
private static CardListFilter creatures = new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature();
}
};
///////////////// Lands
/**
@@ -361,4 +355,13 @@ public class AllZoneUtil {
return c.isUntapped();
}
};
/**
* a CardListFilter to get all creaures
*/
public static CardListFilter creatures = new CardListFilter() {
public boolean addCard(Card c) {
return c.isCreature();
}
};
}

View File

@@ -19687,6 +19687,35 @@ public class CardFactory implements NewConstants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Arena of the Ancients")) {
/*
* When Arena of the Ancients enters the battlefield, tap
* all legendary creatures.
*/
final SpellAbility ability = new Ability(card, "0") {
@Override
public void resolve() {
CardList legends = AllZoneUtil.getTypeInPlay("Legendary");
legends = legends.filter(AllZoneUtil.creatures);
for(int i = 0; i < legends.size(); i++) {
Card c = legends.get(i);
if(c.isUntapped()) c.tap();
}
}
};//ability
Command intoPlay = new Command() {
private static final long serialVersionUID = 3564466123797650567L;
public void execute() {
ability.setStackDescription("When " + card.getName()
+ " comes into play, tap all Legendary creatures.");
AllZone.Stack.add(ability);
}
};
card.addComesIntoPlayCommand(intoPlay);
}//*************** END ************ END **************************
// Cards with Cycling abilities
// -1 means keyword "Cycling" not found
if(hasKeyword(card, "Cycling") != -1) {

View File

@@ -8429,6 +8429,39 @@ public class GameActionUtil {
}// execute()
};
/**
* stores the Command to execute the "Legends don't untap during your untap step"
*/
public static Command Arena_of_the_Ancients = new Command() {
private static final long serialVersionUID = -3233715310427996429L;
CardList gloriousAnthemList = new CardList();
public void execute() {
String keyword = "CARDNAME doesn't untap during your untap step.";
CardList list = gloriousAnthemList;
Card c;
// reset all cards in list - aka "old" cards
for(int i = 0; i < list.size(); i++) {
c = list.get(i);
c.removeExtrinsicKeyword(keyword);
}
list.clear();
if(AllZoneUtil.isCardInPlay("Arena of the Ancients")) {
CardList legends = AllZoneUtil.getTypeInPlay("Legendary");
legends = legends.filter(AllZoneUtil.creatures);
for(int i = 0; i < legends.size(); i++) {
c = legends.get(i);
if(!c.getKeyword().contains(keyword)) {
c.addExtrinsicKeyword(keyword);
gloriousAnthemList.add(c);
}
}//for
}//if
}// execute()
};
public static Command Absolute_Grace = new Command() {
private static final long serialVersionUID = -6904191523315339355L;
@@ -16301,6 +16334,8 @@ public class GameActionUtil {
commands.put("Kor_Duelist", Kor_Duelist);
commands.put("Keldon_Warlord", Keldon_Warlord);
commands.put("Heedless_One", Heedless_One);
commands.put("Arena_of_the_Ancients", Arena_of_the_Ancients);
//System.out.println("size of commands: " + commands.size());
}

View File

@@ -203,6 +203,7 @@ public class StaticEffects
cardToEffectsList.put("Kor Duelist", new String[] {"Kor_Duelist"});
cardToEffectsList.put("Keldon Warlord", new String[] {"Keldon_Warlord"});
cardToEffectsList.put("Heedless One", new String[] {"Heedless_One"});
cardToEffectsList.put("Arena of the Ancients", new String[] {"Arena_of_the_Ancients"});
}
public HashMap<String, String[]> getCardToEffectsList()