mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38: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
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user