- Converted Grave Titan, Primeval Titan and Sun Titan to Trigger

This commit is contained in:
jendave
2011-08-06 15:47:35 +00:00
parent 7f9565a23e
commit be808c08a7
5 changed files with 12 additions and 180 deletions

View File

@@ -1,10 +1,12 @@
Name:Grave Titan
ManaCost:4 B B
Types:Creature Giant
Text:Whenever Grave Titan enters the battlefield or attacks, put two 2/2 black Zombie creature tokens onto the battlefield.
Text:no text
PT:6/6
K:Deathtouch
K:etbMakeToken<>2<>Zombie<>B 2 2 Zombie<>Controller<>B<>Creature;Zombie<>2<>2<>None<>put two 2/2 black Zombie creature tokens onto the battlefield.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME enters the battlefield, put two 2/2 black Zombie creature tokens onto the battlefield.
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, put two 2/2 black Zombie creature tokens onto the battlefield.
SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ Controller | TokenAmount$ 2
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/grave_titan.jpg
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/97.jpg

View File

@@ -1,9 +1,12 @@
Name:Primeval Titan
ManaCost:4 G G
Types:Creature Giant
Text:Whenever Primeval Titan enters the battlefield or attacks, you may search your library for up to two land cards, put them onto the battlefield tapped, then shuffle your library.
Text:no text
PT:6/6
K:Trample
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | TriggerZones$ Battlefield | Execute$ TrigChange | Optional$ True | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for up to two land cards, put them onto the battlefield tapped, then shuffle your library.
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChange | TriggerZones$ Battlefield | Optional$ True | TriggerDescription$ Whenever CARDNAME attacks, you may search your library for up to two land cards, put them onto the battlefield tapped, then shuffle your library.
SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | Tapped$ True | ChangeType$ Land | ChangeNum$ 2
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/primeval_titan.jpg
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/192.jpg

View File

@@ -1,9 +1,12 @@
Name:Sun Titan
ManaCost:4 W W
Types:Creature Giant
Text:Whenever Sun Titan enters the battlefield or attacks, you may return target permanent card with converted mana cost 3 or less from your graveyard to the battlefield.
Text:no text
PT:6/6
K:Vigilance
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigChange | Optional$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield, you may return target permanent card with converted mana cost 3 or less from your graveyard to the battlefield.
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChange | TriggerZones$ Battlefield | Optional$ True | TriggerDescription$ Whenever CARDNAME attacks, you may return target permanent card with converted mana cost 3 or less from your graveyard to the battlefield.
SVar:TrigChange:AB$ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Permanent.YouCtrl+cmcLE3 | Cost$ 0
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/sun_titan.jpg
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/35.jpg

View File

@@ -2260,59 +2260,6 @@ public class CardFactory_Creatures {
}
});
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Sun Titan")) {
final SpellAbility ability = new Ability(card, "0") {
@Override
public void resolve() {
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
if(AllZone.GameAction.isCardInZone(getTargetCard(), grave)) {
PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, card.getController());
grave.remove(getTargetCard());
play.add(getTargetCard());
}
}//resolve()
};
Command intoPlay = new Command() {
private static final long serialVersionUID = 6483805330273377116L;
public void execute() {
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController());
CardList graveList = new CardList(grave.getCards());
graveList = graveList.filter(new CardListFilter()
{
public boolean addCard(Card crd)
{
return crd.isPermanent() && CardUtil.getConvertedManaCost(crd.getManaCost()) <=3;
}
});
if(graveList.size() == 0) return;
if(card.getController().equals(AllZone.HumanPlayer)) {
Object o = GuiUtils.getChoiceOptional("Select target card", graveList.toArray());
if(o != null) {
ability.setTargetCard((Card) o);
AllZone.Stack.add(ability);
}
} else//computer
{
Card best = CardFactoryUtil.AI_getBestCreature(graveList);
if(best == null) {
graveList.shuffle();
best = graveList.get(0);
}
ability.setTargetCard(best);
AllZone.Stack.add(ability);
}
}//execute()
};//Command
card.addComesIntoPlayCommand(intoPlay);
}//*************** END ************ END **************************
//*************** START *********** START **************************
@@ -6814,29 +6761,6 @@ public class CardFactory_Creatures {
card.addSpellAbility(ability);
ability.setDescription(abCost+"Exile an Assassin card from your graveyard: Destroy target creature.");
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Primeval Titan")) {
final SpellAbility ability = new Ability(card, "0") {
@Override
public void resolve() {
AllZone.GameAction.searchLibraryTwoLand("Land", card.getController(),
Constant.Zone.Battlefield, true,
Constant.Zone.Battlefield, true);
}//resolve()
};
Command intoPlay = new Command() {
private static final long serialVersionUID = 4991367699382641872L;
public void execute() {
ability.setStackDescription("Primeval Titan - search your library for up to two land cards, put them onto the battlefield tapped, then shuffle your library.");
AllZone.Stack.add(ability);
}
};
card.addComesIntoPlayCommand(intoPlay);
}//*************** END ************ END **************************
//*************** START *********** START **************************

View File

@@ -1675,106 +1675,6 @@ public class CombatUtil {
}//Jedit
else if(c.getName().equals("Grave Titan") && !c.getCreatureAttackedThisCombat()) {
final Card grave = c;
Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
for (int i=0;i<2;i++)
CardFactoryUtil.makeToken("Zombie", "B 2 2 Zombie", grave.getController(), "B", new String[] {
"Creature", "Zombie"}, 2, 2, new String[] {""});
//(anger) :
//GameActionUtil.executeCardStateEffects();
}
}; //Ability
StringBuilder sb2 = new StringBuilder();
sb2.append(c.getName()).append(" - put a 2/2 black Zombie creature token onto the battlefield.");
ability2.setStackDescription(sb2.toString());
AllZone.Stack.add(ability2);
}//Grave Titan
else if(c.getName().equals("Primeval Titan") && !c.getCreatureAttackedThisCombat()) {
final Card prim = c;
Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
AllZone.GameAction.searchLibraryTwoLand("Land", prim.getController(),
Constant.Zone.Battlefield, true,
Constant.Zone.Battlefield, true);
//GameActionUtil.executeCardStateEffects();
}
}; //Ability
StringBuilder sb2 = new StringBuilder();
sb2.append(c.getName()).append(" - search your library for up to two land cards, ");
sb2.append("put them onto the battlefield tapped, then shuffle your library.");
ability2.setStackDescription(sb2.toString());
AllZone.Stack.add(ability2);
}//Primeval Titan
else if(c.getName().equals("Sun Titan") && !c.getCreatureAttackedThisCombat()) {
final Card sun = c;
final Ability ability2 = new Ability(c, "0") {
@Override
public void resolve() {
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, sun.getController());
if(AllZone.GameAction.isCardInZone(getTargetCard(), grave)) {
PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, sun.getController());
play.add(getTargetCard());
grave.remove(getTargetCard());
}
}
}; //Ability
//ability2.setStackDescription(c.getName() + " - ");
Command command = new Command() {
private static final long serialVersionUID = 1658050744890095441L;
public void execute() {
PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, sun.getController());
CardList graveList = new CardList(grave.getCards());
graveList = graveList.filter(new CardListFilter()
{
public boolean addCard(Card crd)
{
return crd.isPermanent() && CardUtil.getConvertedManaCost(crd.getManaCost()) <=3;
}
});
if(graveList.size() == 0) return;
if(sun.getController().isHuman()) {
Object o = GuiUtils.getChoiceOptional("Select target card", graveList.toArray());
if(o != null) {
ability2.setTargetCard((Card) o);
AllZone.Stack.add(ability2);
}
} else//computer
{
Card best = CardFactoryUtil.AI_getBestCreature(graveList);
if(best == null) {
graveList.shuffle();
best = graveList.get(0);
}
ability2.setTargetCard(best);
AllZone.Stack.add(ability2);
}
}//execute()
};//Command
command.execute();
}//Sun Titan
else if(c.getName().equals("Preeminent Captain") && !c.getCreatureAttackedThisCombat()) {
System.out.println("Preeminent Captain Attacks");
PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, c.getController());