- Added LQ pic urls for the last five new cards.

- Moved the code for Kinsbaile Borderguard and Lockjaw Snapper to CardFactory_Creatures.java. Tested Kinsbaile Borderguard and Lockjaw Snapper and they now have their abilities.
This commit is contained in:
jendave
2011-08-06 03:09:05 +00:00
parent df559b9abf
commit ae380282d7
4 changed files with 171 additions and 3 deletions

View File

@@ -18,6 +18,11 @@ 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
chronatog.jpg http://www.wizards.com/global/images/magic/general/chronatog.jpg
loxodon_gatekeeper.jpg http://www.wizards.com/global/images/magic/general/loxodon_gatekeeper.jpg
frozen_aether.jpg http://www.wizards.com/global/images/magic/general/frozen_aether.jpg
kismet.jpg http://www.wizards.com/global/images/magic/general/kismet.jpg
gush.jpg http://www.wizards.com/global/images/magic/general/gush.jpg
stasis.jpg http://www.wizards.com/global/images/magic/general/stasis.jpg
cosmic_horror.jpg http://www.wizards.com/global/images/magic/general/cosmic_horror.jpg
force_of_nature.jpg http://www.wizards.com/global/images/magic/general/force_of_nature.jpg

View File

@@ -1,6 +1,6 @@
program/mail=mtgerror@yahoo.com
program/forum=http://www.slightlymagic.net/forum/viewforum.php?f=26
program/version=Forge -- official beta: 09/12/14, SVN revision: 246
program/version=Forge -- official beta: 09/12/14, SVN revision: 247
tokens--file=AllTokens.txt

View File

@@ -4319,7 +4319,9 @@ public class CardFactory implements NewConstants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
/*
//*************** START *********** START **************************
else if(cardName.equals("Kinsbaile Borderguard"))
{
final SpellAbility ability = new Ability(card, "0")
@@ -4431,7 +4433,7 @@ public class CardFactory implements NewConstants {
card.addDestroyCommand(destroy);
}//*************** END ************ END **************************
*/
//*************** START *********** START **************************
@@ -9845,6 +9847,9 @@ public class CardFactory implements NewConstants {
card.addSpellAbility(spell);
}//*************** END ************ END **************************
/*
//*************** END ************ END **************************
else if (cardName.equals("Lockjaw Snapper"))
{
@@ -9885,6 +9890,8 @@ public class CardFactory implements NewConstants {
};//command
card.addDestroyCommand(destroy);
}//*************** START *********** START **************************
*/
//*************** START *********** START **************************
else if(cardName.equals("Deep Analysis"))

View File

@@ -19254,6 +19254,162 @@ public class CardFactory_Creatures {
card.addSpellAbility(ability);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Kinsbaile Borderguard"))
{
final SpellAbility ability = new Ability(card, "0")
{
public void resolve()
{
card.addCounter(Counters.P1P1, countKithkin());
//System.out.println("all counters: " +card.sumAllCounters());
}//resolve()
public int countKithkin()
{
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
CardList kithkin = new CardList(play.getCards());
kithkin = kithkin.filter(new CardListFilter()
{
public boolean addCard(Card c)
{
return (c.getType().contains("Kithkin") || c.getKeyword().contains("Changeling"))&& !c.equals(card);
}
});
return kithkin.size();
}
@SuppressWarnings("unused") // makeToken
public void makeToken()
{
Card c = new Card();
c.setOwner(card.getController());
c.setController(card.getController());
c.setName("Kithkin Soldier");
c.setImageName("W 1 1 Kithkin Soldier");
c.setManaCost("W");
c.setToken(true);
c.addType("Creature");
c.addType("Kithkin");
c.addType("Soldier");
c.setBaseAttack(1);
c.setBaseDefense(1);
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
play.add(c);
}
};
Command intoPlay = new Command()
{
private static final long serialVersionUID = -7067218066522935060L;
public void execute()
{
ability.setStackDescription("Kinsbaile Borderguard comes into play with a +1/+1 counter on it for each other Kithkin you control.");
AllZone.Stack.add(ability);
}
};
final SpellAbility ability2 = new Ability(card, "0")
{
public void resolve()
{
for (int i=0;i<card.sumAllCounters();i++)
{
makeToken();
}
}//resolve()
public void makeToken()
{
Card c = new Card();
c.setOwner(card.getController());
c.setController(card.getController());
c.setName("Kithkin Soldier");
c.setImageName("W 1 1 Kithkin Soldier");
c.setManaCost("W");
c.setToken(true);
c.addType("Creature");
c.addType("Kithkin");
c.addType("Soldier");
c.setBaseAttack(1);
c.setBaseDefense(1);
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
play.add(c);
}
};
Command destroy = new Command()
{
private static final long serialVersionUID = 304026662487997331L;
public void execute()
{
ability2.setStackDescription("When Kinsbaile Borderguard is put into a graveyard from play, put a 1/1 white Kithkin Soldier creature token into play for each counter on it.");
AllZone.Stack.add(ability2);
}
};
card.addComesIntoPlayCommand(intoPlay);
card.addDestroyCommand(destroy);
}//*************** END ************ END **************************
//*************** END ************ END **************************
else if (cardName.equals("Lockjaw Snapper"))
{
final Ability ability = new Ability(card, "0")
{
public void resolve()
{
PlayerZone hPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
PlayerZone cPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
CardList creatures = new CardList();
creatures.addAll(hPlay.getCards());
creatures.addAll(cPlay.getCards());
creatures = creatures.filter(new CardListFilter()
{
public boolean addCard(Card c) {
return c.getCounters(Counters.M1M1) > 0;
}
});
for (int i=0; i<creatures.size();i++)
{
Card c = creatures.get(i);
c.addCounter(Counters.M1M1, 1);
}
}
};
Command destroy = new Command()
{
private static final long serialVersionUID = 6389028698247230474L;
public void execute()
{
ability.setStackDescription(card.getName()+ " - put -1/-1 counter on each creature that has a -1/-1 counter on it.");
AllZone.Stack.add(ability);
}
};//command
card.addDestroyCommand(destroy);
}//*************** START *********** START **************************
// Cards with Cycling abilities
// -1 means keyword "Cycling" not found
if (shouldCycle(card) != -1)