mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +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_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_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
|
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
|
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
|
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
|
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
|
Energy Tap
|
||||||
U
|
U
|
||||||
Sorcery
|
Sorcery
|
||||||
|
|||||||
@@ -34,12 +34,6 @@ public class AllZoneUtil {
|
|||||||
return creatures.filter(AllZoneUtil.creatures);
|
return creatures.filter(AllZoneUtil.creatures);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static CardListFilter creatures = new CardListFilter() {
|
|
||||||
public boolean addCard(Card c) {
|
|
||||||
return c.isCreature();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
///////////////// Lands
|
///////////////// Lands
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -361,4 +355,13 @@ public class AllZoneUtil {
|
|||||||
return c.isUntapped();
|
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);
|
card.addSpellAbility(spell);
|
||||||
}//*************** END ************ END **************************
|
}//*************** 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
|
// Cards with Cycling abilities
|
||||||
// -1 means keyword "Cycling" not found
|
// -1 means keyword "Cycling" not found
|
||||||
if(hasKeyword(card, "Cycling") != -1) {
|
if(hasKeyword(card, "Cycling") != -1) {
|
||||||
|
|||||||
@@ -8429,6 +8429,39 @@ public class GameActionUtil {
|
|||||||
}// execute()
|
}// 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() {
|
public static Command Absolute_Grace = new Command() {
|
||||||
private static final long serialVersionUID = -6904191523315339355L;
|
private static final long serialVersionUID = -6904191523315339355L;
|
||||||
@@ -16301,6 +16334,8 @@ public class GameActionUtil {
|
|||||||
commands.put("Kor_Duelist", Kor_Duelist);
|
commands.put("Kor_Duelist", Kor_Duelist);
|
||||||
commands.put("Keldon_Warlord", Keldon_Warlord);
|
commands.put("Keldon_Warlord", Keldon_Warlord);
|
||||||
commands.put("Heedless_One", Heedless_One);
|
commands.put("Heedless_One", Heedless_One);
|
||||||
|
commands.put("Arena_of_the_Ancients", Arena_of_the_Ancients);
|
||||||
|
|
||||||
//System.out.println("size of commands: " + commands.size());
|
//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("Kor Duelist", new String[] {"Kor_Duelist"});
|
||||||
cardToEffectsList.put("Keldon Warlord", new String[] {"Keldon_Warlord"});
|
cardToEffectsList.put("Keldon Warlord", new String[] {"Keldon_Warlord"});
|
||||||
cardToEffectsList.put("Heedless One", new String[] {"Heedless_One"});
|
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()
|
public HashMap<String, String[]> getCardToEffectsList()
|
||||||
|
|||||||
Reference in New Issue
Block a user