Added Oracle of Mul Daya

This commit is contained in:
jendave
2011-08-06 04:53:26 +00:00
parent ee40e34a51
commit ed9f229635
5 changed files with 59 additions and 3 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
oracle_of_mul_daya.jpg http://www.wizards.com/global/images/magic/general/oracle_of_mul_daya.jpg
roiling_terrain.jpg http://www.wizards.com/global/images/magic/general/roiling_terrain.jpg
tectonic_edge.jpg http://www.wizards.com/global/images/magic/general/tectonic_edge.jpg
evolving_wilds.jpg http://www.wizards.com/global/images/magic/general/evolving_wilds.jpg

View File

@@ -1,3 +1,10 @@
Oracle of Mul Daya
3 G
Creature Elf Shaman
You may play an additional land on each of your turns. You may play the top card of your library if it's a land card.
2/2
Play with the top card of your library revealed.
Roiling Terrain
2 R R
Sorcery

View File

@@ -216,7 +216,8 @@ public class CardFactoryUtil {
{"Phyrexian Battleflies", Integer.valueOf(2)}, {"Pit Imp", Integer.valueOf(2)},
{"Roterothopter", Integer.valueOf(2)}, {"Vampire Bats", Integer.valueOf(2)},
{"Fire-Belly Changeling", Integer.valueOf(2)}, {"Azusa, Lost but Seeking", Integer.valueOf(2)}};
{"Fire-Belly Changeling", Integer.valueOf(2)}, {"Azusa, Lost but Seeking", Integer.valueOf(2)},
{"Oracle of Mul Daya", Integer.valueOf(1)}};
public static boolean canUseAbility(Card card) {
int found = -1;
@@ -3686,13 +3687,14 @@ public class CardFactoryUtil {
list = list.filter(new CardListFilter() {
public boolean addCard(Card c) {
return c.getName().equals("Exploration") || c.getName().equals("Azusa, Lost but Seeking")
|| c.getName().equals("Fastbond");
|| c.getName().equals("Fastbond") || c.getName().equals("Oracle of Mul Daya");
}
});
for(Card var:list) {
if(var.getName().equals("Exploration")) count++;
else if(var.getName().equals("Azusa, Lost but Seeking")) count = count + 2;
else if(var.getName().equals("Oracle of Mul Daya")) count = count + 1;
else if(var.getName().equals("Fastbond")) count = 100;
}

View File

@@ -2412,7 +2412,47 @@ public class CardFactory_Creatures {
};
card.addComesIntoPlayCommand(intoPlay);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Oracle of Mul Daya")) {
final SpellAbility ability = new Ability(card, "0") {
private static final long serialVersionUID = 2902408812353813L;
@Override
public void resolve() {
CardList library = new CardList(AllZone.getZone(Constant.Zone.Library, card.getController()).getCards());
if(library.size() > 0) {
if(library.get(0).getType().contains("Land")) {
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
AllZone.GameAction.moveTo(play, library.get(0));
if(card.getController() == Constant.Player.Human) {
AllZone.GameInfo.addHumanCanPlayNumberOfLands(-1);
AllZone.GameInfo.setHumanPlayedFirstLandThisTurn(true);
}
else {
AllZone.GameInfo.addComputerCanPlayNumberOfLands(-1);
AllZone.GameInfo.setComputerPlayedFirstLandThisTurn(true);
}
}
}
}//resolve()
@Override
public boolean canPlay() {
CardList library = new CardList(AllZone.getZone(Constant.Zone.Library, card.getController()).getCards());
if(library.size() == 0) return false;
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
int PlayLand = 0;
if(card.getController() == Constant.Player.Human) PlayLand = AllZone.GameInfo.getHumanCanPlayNumberOfLands();
else PlayLand = AllZone.GameInfo.getComputerCanPlayNumberOfLands();
return (AllZone.GameAction.isCardInZone(card, play) && library.get(0).getType().contains("Land") && PlayLand > 0)
&& (AllZone.Stack.size() == 0) && AllZone.GameAction.getLastPlayerToDraw() == card.getController();
}
};
ability.setStackDescription(card.getController() + " - plays land from top of library.");
card.addSpellAbility(ability);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Highway Robber") || cardName.equals("Dakmor Ghoul")) {

View File

@@ -35,6 +35,9 @@ public class PlayerZone_ComesIntoPlay extends DefaultPlayerZone {
} else if(c.getName().equals("Azusa, Lost but Seeking")) {
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(2);
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(2);
} else if(c.getName().equals("Oracle of Mul Daya")) {
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(1);
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(1);
} else if(c.getName().equals("Fastbond")) {
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(100);
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(100);
@@ -237,6 +240,9 @@ public class PlayerZone_ComesIntoPlay extends DefaultPlayerZone {
} else if(c.getName().equals("Azusa, Lost but Seeking")) {
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(-2);
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(-2);
} else if(c.getName().equals("Oracle of Mul Daya")) {
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(-1);
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(-1);
} else if(c.getName().equals("Fastbond")) {
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(-100);
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(-100);