mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Bridge from Below added.
This commit is contained in:
@@ -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
|
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
|
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
|
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
|
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
|
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
|
crypt_cobra.jpg http://www.wizards.com/global/images/magic/general/crypt_cobra.jpg
|
||||||
|
|||||||
@@ -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
|
Swamp Mosquito
|
||||||
1 B
|
1 B
|
||||||
Creature Insect
|
Creature Insect
|
||||||
|
|||||||
@@ -3050,7 +3050,19 @@ public class CardFactory implements NewConstants {
|
|||||||
}
|
}
|
||||||
//*************** END ************ END **************************
|
//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Nevinyrral's Disk"))
|
else if(cardName.equals("Nevinyrral's Disk"))
|
||||||
|
|||||||
@@ -579,7 +579,8 @@ private Card getCurrentCard(int ID)
|
|||||||
//destroy card effects:
|
//destroy card effects:
|
||||||
PlayerZone comp = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
PlayerZone comp = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
||||||
PlayerZone hum = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
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();
|
CardList list = new CardList();
|
||||||
list.addAll(comp.getCards());
|
list.addAll(comp.getCards());
|
||||||
list.addAll(hum.getCards());
|
list.addAll(hum.getCards());
|
||||||
@@ -594,9 +595,22 @@ private Card getCurrentCard(int ID)
|
|||||||
return false;
|
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++)
|
for (int i=0;i<list.size();i++)
|
||||||
GameActionUtil.executeDestroyCardEffects(list.get(i), c);
|
GameActionUtil.executeDestroyCardEffects(list.get(i), c);
|
||||||
|
for (int i=0;i<grv.size();i++)
|
||||||
|
GameActionUtil.executeGrvDestroyCardEffects(grv.get(i), c);
|
||||||
|
|
||||||
if (persist){
|
if (persist){
|
||||||
c.setDamage(0);
|
c.setDamage(0);
|
||||||
|
|||||||
@@ -3188,6 +3188,67 @@ public class GameActionUtil
|
|||||||
AllZone.Stack.add(ability);
|
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***
|
//***LANDS END HERE***
|
||||||
|
|
||||||
@@ -3220,6 +3281,8 @@ public class GameActionUtil
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//***ENCHANTMENTS END HERE***
|
//***ENCHANTMENTS END HERE***
|
||||||
|
|
||||||
public static void executeLandfallEffects(Card c)
|
public static void executeLandfallEffects(Card c)
|
||||||
|
|||||||
Reference in New Issue
Block a user