diff --git a/res/cardsfolder/grave_titan.txt b/res/cardsfolder/grave_titan.txt index 7a7b221c082..8e13136e1eb 100644 --- a/res/cardsfolder/grave_titan.txt +++ b/res/cardsfolder/grave_titan.txt @@ -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 diff --git a/res/cardsfolder/primeval_titan.txt b/res/cardsfolder/primeval_titan.txt index 7fdd2fcc624..16ae2fc0cc2 100644 --- a/res/cardsfolder/primeval_titan.txt +++ b/res/cardsfolder/primeval_titan.txt @@ -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 diff --git a/res/cardsfolder/sun_titan.txt b/res/cardsfolder/sun_titan.txt index 1295142949b..3fc0395361a 100644 --- a/res/cardsfolder/sun_titan.txt +++ b/res/cardsfolder/sun_titan.txt @@ -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 diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index f856c2de476..64e07425ebe 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -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 ************************** diff --git a/src/forge/CombatUtil.java b/src/forge/CombatUtil.java index a214426459e..2db3c31607c 100644 --- a/src/forge/CombatUtil.java +++ b/src/forge/CombatUtil.java @@ -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());