mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
add Arena of the Ancients from Legends
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user