- Added Xiahou Dun, the One-Eyed and Loyal Retainers.

- Added Goblin Charbelcher ability text.
- Added card-pictures.txt links.
This commit is contained in:
jendave
2011-08-06 02:51:02 +00:00
parent f2d9c52a5b
commit a71f583de2
7 changed files with 262 additions and 4 deletions

View File

@@ -18,6 +18,81 @@ 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
door_to_nothingness.jpg http://www.wizards.com/global/images/magic/general/door_to_nothingness.jpg
kazuul_warlord.jpg http://www.wizards.com/global/images/magic/general/kazuul_warlord.jpg
seascape_aerialist.jpg http://www.wizards.com/global/images/magic/general/seascape_aerialist.jpg
ondu_cleric.jpg http://www.wizards.com/global/images/magic/general/ondu_cleric.jpg
joraga_bard.jpg http://www.wizards.com/global/images/magic/general/ondu_cleric.jpg
highland_berserker.jpg http://www.wizards.com/global/images/magic/general/highland_berserker.jpg
cruel_edict.jpg http://www.wizards.com/global/images/magic/general/cruel_edict.jpg
imperial_edict.jpg http://www.wizards.com/global/images/magic/general/imperial_edict.jpg
chainers_edict.jpg http://www.wizards.com/global/images/magic/general/chainers_edict.jpg
diabolic_edict.jpg http://www.wizards.com/global/images/magic/general/diabolic_edict.jpg
innocent_blood.jpg http://www.wizards.com/global/images/magic/general/innocent_blood.jpg
transguild_courier.jpg http://www.wizards.com/global/images/magic/general/transguild_courier.jpg
oran_rief_the_vastwood.jpg http://www.wizards.com/global/images/magic/general/oran_rief_the_vastwood.jpg
academy_rector.jpg http://www.wizards.com/global/images/magic/general/academy_rector.jpg
acolyte_of_xathrid.jpg http://www.wizards.com/global/images/magic/general/acolyte_of_xathrid.jpg
ajani_vengeant.jpg http://www.wizards.com/global/images/magic/general/ajani_vengeant.jpg
armored_galleon.jpg http://www.magickartenmarkt.de/img/cards/Portal_Second_Age/armored_galleon.jpg
auramancer.jpg http://www.wizards.com/global/images/magic/general/auramancer.jpg
barren_glory.jpg http://www.wizards.com/global/images/magic/general/barren_glory.jpg
boggart_harbinger.jpg http://www.wizards.com/global/images/magic/general/boggart_harbinger.jpg
capashen_unicorn.jpg http://www.wizards.com/global/images/magic/general/capashen_unicorn.jpg
capture_of_jingzhou.jpg http://www.wizards.com/global/images/magic/general/capture_of_jingzhou.jpg
cartographer.jpg http://www.wizards.com/global/images/magic/general/cartographer.jpg
conquerors_pledge.jpg http://www.wizards.com/global/images/magic/general/conquerors_pledge.jpg
deep_sea_serpent.jpg http://www.magickartenmarkt.de/img/cards/Portal/deep_sea_serpent.jpg
dwarven_pony.jpg http://www.wizards.com/global/images/magic/general/dwarven_pony.jpg
elvish_harbinger.jpg http://www.wizards.com/global/images/magic/general/elvish_harbinger.jpg
ethereal_whiskergill.jpg http://www.wizards.com/global/images/magic/general/ethereal_whiskergill.jpg
faerie_harbinger.jpg http://www.wizards.com/global/images/magic/general/faerie_harbinger.jpg
femeref_enchantress.jpg http://www.wizards.com/global/images/magic/general/femeref_enchantress.jpg
flamekin_harbinger.jpg http://www.wizards.com/global/images/magic/general/flamekin_harbinger.jpg
fleeting_image.jpg http://www.wizards.com/global/images/magic/general/fleeting_image.jpg
giant_harbinger.jpg http://www.wizards.com/global/images/magic/general/giant_harbinger.jpg
goblin_charbelcher.jpg http://www.wizards.com/global/images/magic/general/goblin_charbelcher.jpg
goblin_chieftain.jpg http://www.wizards.com/global/images/magic/general/goblin_chieftain.jpg
jace_beleren.jpg http://www.wizards.com/global/images/magic/general/jace_beleren.jpg
kaerveks_spite.jpg http://www.wizards.com/global/images/magic/general/kaerveks_spite.jpg
kami_of_ancient_law.jpg http://www.wizards.com/global/images/magic/general/kami_of_ancient_law.jpg
manta_ray.jpg http://www.wizards.com/global/images/magic/general/manta_ray.jpg
meekstone.jpg http://www.wizards.com/global/images/magic/general/meekstone.jpg
merfolk_sovereign.jpg http://www.wizards.com/global/images/magic/general/merfolk_sovereign.jpg
merrow_harbinger.jpg http://www.wizards.com/global/images/magic/general/merrow_harbinger.jpg
pirate_ship.jpg http://www.wizards.com/global/images/magic/general/pirate_ship.jpg
qasali_pridemage.jpg http://www.wizards.com/global/images/magic/general/qasali_pridemage.jpg
red_cliffs_armada.jpg http://www.wizards.com/global/images/magic/general/red_cliffs_armada.jpg
ronom_unicorn.jpg http://www.wizards.com/global/images/magic/general/ronom_unicorn.jpg
scarland_thrinax.jpg http://www.wizards.com/global/images/magic/general/scarland_thrinax.jpg
sea_monster.jpg http://www.wizards.com/global/images/magic/general/sea_monster.jpg
sea_serpent.jpg http://www.wizards.com/global/images/magic/general/sea_serpent.jpg
seal_of_cleansing.jpg http://www.wizards.com/global/images/magic/general/seal_of_cleansing.jpg
seal_of_fire.jpg http://www.wizards.com/global/images/magic/general/seal_of_fire.jpg
seal_of_primordium.jpg http://www.wizards.com/global/images/magic/general/seal_of_primordium.jpg
seal_of_removal.jpg http://www.wizards.com/global/images/magic/general/seal_of_removal.jpg
serendib_sorcerer.jpg http://www.wizards.com/global/images/magic/general/serendib_sorcerer.jpg
silhana_ledgewalker.jpg http://www.wizards.com/global/images/magic/general/silhana_ledgewalker.jpg
slipstream_eel.jpg http://www.wizards.com/global/images/magic/general/slipstream_eel.jpg
slipstream_serpent.jpg http://www.wizards.com/global/images/magic/general/slipstream_serpent.jpg
spell_snare.jpg http://www.wizards.com/global/images/magic/general/spell_snare.jpg
staff_of_domination.jpg http://www.wizards.com/global/images/magic/general/staff_of_domination.jpg
steam_frigate.jpg http://www.wizards.com/global/images/magic/general/steam_frigate.jpg
sword_of_the_meek.jpg http://www.wizards.com/global/images/magic/general/sword_of_the_meek.jpg
temporal_manipulation.jpg http://www.wizards.com/global/images/magic/general/temporal_manipulation.jpg
thopter_foundry.jpg http://www.wizards.com/global/images/magic/general/thopter_foundry.jpg
timber_protector.jpg http://www.wizards.com/global/images/magic/general/timber_protector.jpg
time_walk.jpg http://www.wizards.com/global/images/magic/general/time_walk.jpg
tinker.jpg http://www.wizards.com/global/images/magic/general/tinker.jpg
treetop_bracers.jpg http://www.wizards.com/global/images/magic/general/treetop_bracers.jpg
treetop_rangers.jpg http://www.wizards.com/global/images/magic/general/treetop_rangers.jpg
treetop_scout.jpg http://www.wizards.com/global/images/magic/general/treetop_scout.jpg
umezawas_jitte.jpg http://www.wizards.com/global/images/magic/general/umezawas_jitte.jpg
vendilion_clique.jpg http://www.wizards.com/global/images/magic/general/vendilion_clique.jpg
viridian_zealot.jpg http://www.wizards.com/global/images/magic/general/viridian_zealot.jpg
vodalian_knights.jpg http://www.wizards.com/global/images/magic/general/vodalian_knights.jpg
wu_warship.jpg http://www.wizards.com/global/images/magic/general/wu_warship.jpg
zhou_yu_chief_commander.jpg http://www.wizards.com/global/images/magic/general/zhou_yu_chief_commander.jpg
boreal_griffin.jpg http://www.wizards.com/global/images/magic/general/boreal_griffin.jpg
frost_raptor.jpg http://www.wizards.com/global/images/magic/general/frost_raptor.jpg
goblin_rimerunner.jpg http://www.wizards.com/global/images/magic/general/goblin_rimerunner.jpg

View File

@@ -1,7 +1,20 @@
Xiahou Dun, the One-Eyed
2 B B
Legendary Creature Human Soldier
no text
3/2
Horsemanship
Loyal Retainers
2 W
Creature Human Advisor
no text
1/1
Kor Cartographer
3 W
Creature Kor Scout
When Kor Cartographer enters the field, you may search your library for a plains card, put it onto the battlefield tapped, then shuffle your library.
When Kor Cartographer enters the battlefield, you may search your library for a plains card, put it onto the battlefield tapped, then shuffle your library.
2/2
Celestial Purge
@@ -126,7 +139,7 @@ Umezawa's Jitte
Artifact Equipment
Whenever equipped creature deals combat damage, put two charge counters on Umezawa's Jitte.
Vendillion Clique
Vendilion Clique
1 U U
Legendary Creature Faerie Wizard
When Vendilion Clique enters the battlefield, look at target player's hand. You may choose a nonland card from it. If you do, that player reveals the chosen card, puts it on the bottom of his or her library, then draws a card.
@@ -294,7 +307,7 @@ no text
This creature can't attack unless defending player controls an Island
When you control no Islands, sacrifice this creature
Zhou You, Chief Commander
Zhou Yu, Chief Commander
5 U U
Legendary Creature Human Soldier
no text

View File

@@ -1,6 +1,6 @@
program/mail=mtgerror@yahoo.com
program/forum=http://www.slightlymagic.net/forum/viewforum.php?f=26
program/version=MTG Forge -- official beta: 09/11/02, SVN revision: 100
program/version=MTG Forge -- official beta: 09/11/25, SVN revision: 101
tokens--file=AllTokens.txt

Binary file not shown.

View File

@@ -16723,6 +16723,7 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
AllZone.GameAction.getPlayerLife(getTargetPlayer()).subtractLife(damage);
}
};
ability.setDescription("3, tap: Reveal cards from the top of your library until you reveal a land card. Goblin Charbelcher deals damage equal to the number of nonland cards revealed this way to target creature or player. If the revealed land card was a Mountain, Goblin Charbelcher deals double that damage instead. Put the revealed cards on the bottom of your library in any order.");
ability.setChooseTargetAI(CardFactoryUtil.AI_targetHuman());
ability.setBeforePayMana(CardFactoryUtil.input_targetCreaturePlayer(ability, true));
card.addSpellAbility(ability);

View File

@@ -16900,6 +16900,174 @@ public class CardFactory_Creatures {
card.addComesIntoPlayCommand(cip);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if (cardName.equals("Loyal Retainers"))
{
final Ability ability = new Ability(card, "0")
{
public void resolve() {
if (AllZone.GameAction.isCardInPlay(card)) {
AllZone.GameAction.sacrifice(card);
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
CardList list = new CardList(grave.getCards());
list = list.filter(new CardListFilter()
{
public boolean addCard(Card c)
{
return c.isCreature() && c.getType().contains("Legendary");
}
});
if (list.size() >0) {
if (card.getController().equals(Constant.Player.Human))
{
Object o = AllZone.Display.getChoiceOptional("Select Legendary creature", list.toArray());
if (o!=null)
{
Card c = (Card)o;
grave.remove(c);
play.add(c);
}
}
else //computer
{
Card c = CardFactoryUtil.AI_getBestCreature(list);
grave.remove(c);
play.add(c);
}
}
}
}
public boolean canPlay()
{
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
CardList list = new CardList(grave.getCards());
list = list.filter(new CardListFilter()
{
public boolean addCard(Card c)
{
return c.isCreature() && c.getType().contains("Legendary");
}
});
SpellAbility sa;
for (int i=0; i<AllZone.Stack.size(); i++)
{
sa = AllZone.Stack.peek(i);
if (sa.getSourceCard().equals(card))
return false;
}
return super.canPlay() && list.size() > 0 &&
AllZone.Phase.getPhase().equals(Constant.Phase.Main1) &&
AllZone.Phase.getActivePlayer().equals(card.getController());
}
public boolean canPlayAI()
{
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
CardList list = new CardList(grave.getCards());
list = list.filter(new CardListFilter()
{
public boolean addCard(Card c)
{
return c.isCreature() && c.getType().contains("Legendary") && CardUtil.getConvertedManaCost(c.getManaCost()) > 4;
}
});
return list.size()>0;
}
};
ability.setDescription("Sacrifice Loyal Retainers: Return target legendary creature card from your graveyard to the battlefield. Activate this ability only during your turn, before attackers are declared.");
ability.setStackDescription(cardName + " - Return target legendary creature card from your graveyard to the battlefield.");
card.addSpellAbility(ability);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if (cardName.equals("Xiahou Dun, the One-Eyed"))
{
final Ability ability = new Ability(card, "0")
{
public void resolve() {
if (AllZone.GameAction.isCardInPlay(card)) {
AllZone.GameAction.sacrifice(card);
PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, card.getController());
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
CardList list = new CardList(grave.getCards());
list = list.filter(new CardListFilter()
{
public boolean addCard(Card c)
{
return CardUtil.getColors(c).contains(Constant.Color.Black);
}
});
if (list.size() >0) {
if (card.getController().equals(Constant.Player.Human))
{
Object o = AllZone.Display.getChoiceOptional("Select black card", list.toArray());
if (o!=null)
{
Card c = (Card)o;
grave.remove(c);
hand.add(c);
}
}
else //computer
{
//TODO
}
}
}
}
public boolean canPlay()
{
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
CardList list = new CardList(grave.getCards());
list = list.filter(new CardListFilter()
{
public boolean addCard(Card c)
{
return CardUtil.getColors(c).contains(Constant.Color.Black);
}
});
SpellAbility sa;
for (int i=0; i<AllZone.Stack.size(); i++)
{
sa = AllZone.Stack.peek(i);
if (sa.getSourceCard().equals(card))
return false;
}
return super.canPlay() && list.size() > 0 &&
AllZone.Phase.getPhase().equals(Constant.Phase.Main1) &&
AllZone.Phase.getActivePlayer().equals(card.getController());
}
public boolean canPlayAI()
{
return false;
}
};
ability.setDescription("Sacrifice Xiahou Dun, the One-Eyed: Return target black card from your graveyard to your hand. Activate this ability only during your turn, before attackers are declared.");
ability.setStackDescription(cardName + " - Return target black card from your graveyard to your hand.");
card.addSpellAbility(ability);
}//*************** END ************ END **************************
// Cards with Cycling abilities
// -1 means keyword "Cycling" not found
if (shouldCycle(card) != -1)

View File

@@ -8,6 +8,7 @@ import java.util.TreeSet;
public class ComputerAI_General implements Computer {
//private boolean playLand = true;
//private int numberPlayLand = 1;
private int numberPlayLand = CardFactoryUtil.getCanPlayNumberOfLands(Constant.Player.Computer);
private Collection<Card> playMain1Cards;