Bridge from Below added.

This commit is contained in:
jendave
2011-08-06 03:04:02 +00:00
parent 79f6f6ba66
commit 5952b70814
5 changed files with 96 additions and 1 deletions

View File

@@ -18,6 +18,7 @@ forest.jpg http://resources.wizards.com/magic/cards/unh/en-us/card73946.jpg
forest1.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=2748
forest2.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=587
forest3.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=586
bridge_from_below.jpg http://www.wizards.com/global/images/magic/general/bridge_from_below.jpg
swamp_mosquito.jpg http://www.wizards.com/global/images/magic/general/swamp_mosquito.jpg
suqata_assassin.jpg http://www.wizards.com/global/images/magic/general/suqata_assassin.jpg
crypt_cobra.jpg http://www.wizards.com/global/images/magic/general/crypt_cobra.jpg

View File

@@ -1,3 +1,8 @@
Bridge from Below
B B B
Enchantment
Whenever a nontoken creature is put into your graveyard from the battlefield, if Bridge from Below is in your graveyard, put a 2/2 black Zombie creature token onto the battlefield. When a creature is put into an opponent<6E>s graveyard from the battlefield, if Bridge from Below is in your graveyard, exile Bridge from Below.
Swamp Mosquito
1 B
Creature Insect

View File

@@ -3050,7 +3050,19 @@ public class CardFactory implements NewConstants {
}
//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Bridge from Below"))
{
SpellAbility spell = new Spell_Permanent(card)
{
private static final long serialVersionUID = 7254358703158629514L;
public boolean canPlayAI() { return false; }
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}
//*************** END ************ END *************************
//*************** START *********** START **************************
else if(cardName.equals("Nevinyrral's Disk"))

View File

@@ -579,7 +579,8 @@ private Card getCurrentCard(int ID)
//destroy card effects:
PlayerZone comp = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
PlayerZone hum = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
PlayerZone grv_comp = AllZone.getZone(Constant.Zone.Graveyard, Constant.Player.Computer);
PlayerZone grv_hum = AllZone.getZone(Constant.Zone.Graveyard, Constant.Player.Human);
CardList list = new CardList();
list.addAll(comp.getCards());
list.addAll(hum.getCards());
@@ -594,9 +595,22 @@ private Card getCurrentCard(int ID)
return false;
}
});
CardList grv = new CardList();
grv.addAll(grv_comp.getCards());
grv.addAll(grv_hum.getCards());
grv = grv.filter(new CardListFilter(){
public boolean addCard(Card c) {
if (c.getName().contains("Bridge from Below"))
return true;
return false;
}
});
for (int i=0;i<list.size();i++)
GameActionUtil.executeDestroyCardEffects(list.get(i), c);
for (int i=0;i<grv.size();i++)
GameActionUtil.executeGrvDestroyCardEffects(grv.get(i), c);
if (persist){
c.setDamage(0);

View File

@@ -3188,6 +3188,67 @@ public class GameActionUtil
AllZone.Stack.add(ability);
}
public static void executeGrvDestroyCardEffects(Card c, Card destroyed)
{
if (c.getName().contains("Bridge from Below") && destroyed.getController().equals(c.getController()) && !destroyed.isToken() )
destroyCreature_Bridge_from_Below_maketoken(c,destroyed);
if (c.getName().contains("Bridge from Below") && !destroyed.getController().equals(c.getController()))
destroyCreature_Bridge_from_Below_remove(c);
}
private static void destroyCreature_Bridge_from_Below_maketoken(Card c, Card destroyed)
{
final Card crd = c;
Ability ability = new Ability(c, "0")
{
public void resolve()
{
makeToken();
}
public void makeToken()
{
String player = crd.getController();
Card c = new Card();
c.setName("Zombie");
c.setImageName("B 2 2 Zombie");
c.setOwner(player);
c.setController(player);
c.setManaCost("B");
c.setToken(true);
c.addType("Creature");
c.addType("Zombie");
c.setBaseAttack(2);
c.setBaseDefense(2);
PlayerZone play = AllZone.getZone(Constant.Zone.Play, player);
play.add(c);
}
};
ability.setStackDescription("Bridge from Below - " + c.getController() +"puts a 2/2 black Zombie creature token onto the battlefield.");
AllZone.Stack.add(ability);
}
private static void destroyCreature_Bridge_from_Below_remove(Card c)
{
final Card crd = c;
Ability ability = new Ability(c, "0")
{
public void resolve()
{
PlayerZone grv = AllZone.getZone(Constant.Zone.Graveyard, crd.getController());
PlayerZone exile = AllZone.getZone(Constant.Zone.Removed_From_Play, crd.getController());
grv.remove(crd);
exile.add(crd);
}
};
ability.setStackDescription("Bridge from Below - " + c.getController() +" exile Bridge from Below.");
AllZone.Stack.add(ability);
}
//***LANDS END HERE***
@@ -3220,6 +3281,8 @@ public class GameActionUtil
}
//***ENCHANTMENTS END HERE***
public static void executeLandfallEffects(Card c)