mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Added Oracle of Mul Daya
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
|
||||||
|
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
|
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
|
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
|
evolving_wilds.jpg http://www.wizards.com/global/images/magic/general/evolving_wilds.jpg
|
||||||
|
|||||||
@@ -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
|
Roiling Terrain
|
||||||
2 R R
|
2 R R
|
||||||
Sorcery
|
Sorcery
|
||||||
|
|||||||
@@ -216,7 +216,8 @@ public class CardFactoryUtil {
|
|||||||
|
|
||||||
{"Phyrexian Battleflies", Integer.valueOf(2)}, {"Pit Imp", Integer.valueOf(2)},
|
{"Phyrexian Battleflies", Integer.valueOf(2)}, {"Pit Imp", Integer.valueOf(2)},
|
||||||
{"Roterothopter", Integer.valueOf(2)}, {"Vampire Bats", 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) {
|
public static boolean canUseAbility(Card card) {
|
||||||
int found = -1;
|
int found = -1;
|
||||||
@@ -3686,13 +3687,14 @@ public class CardFactoryUtil {
|
|||||||
list = list.filter(new CardListFilter() {
|
list = list.filter(new CardListFilter() {
|
||||||
public boolean addCard(Card c) {
|
public boolean addCard(Card c) {
|
||||||
return c.getName().equals("Exploration") || c.getName().equals("Azusa, Lost but Seeking")
|
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) {
|
for(Card var:list) {
|
||||||
if(var.getName().equals("Exploration")) count++;
|
if(var.getName().equals("Exploration")) count++;
|
||||||
else if(var.getName().equals("Azusa, Lost but Seeking")) count = count + 2;
|
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;
|
else if(var.getName().equals("Fastbond")) count = 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2413,6 +2413,46 @@ public class CardFactory_Creatures {
|
|||||||
card.addComesIntoPlayCommand(intoPlay);
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Highway Robber") || cardName.equals("Dakmor Ghoul")) {
|
else if(cardName.equals("Highway Robber") || cardName.equals("Dakmor Ghoul")) {
|
||||||
|
|||||||
@@ -35,6 +35,9 @@ public class PlayerZone_ComesIntoPlay extends DefaultPlayerZone {
|
|||||||
} else if(c.getName().equals("Azusa, Lost but Seeking")) {
|
} else if(c.getName().equals("Azusa, Lost but Seeking")) {
|
||||||
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(2);
|
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(2);
|
||||||
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(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")) {
|
} else if(c.getName().equals("Fastbond")) {
|
||||||
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(100);
|
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(100);
|
||||||
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(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")) {
|
} else if(c.getName().equals("Azusa, Lost but Seeking")) {
|
||||||
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(-2);
|
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(-2);
|
||||||
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(-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")) {
|
} else if(c.getName().equals("Fastbond")) {
|
||||||
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(-100);
|
if(c.getController().equals(Constant.Player.Human)) AllZone.GameInfo.addHumanCanPlayNumberOfLands(-100);
|
||||||
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(-100);
|
else AllZone.GameInfo.addComputerCanPlayNumberOfLands(-100);
|
||||||
|
|||||||
Reference in New Issue
Block a user