mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Converted Grave Titan, Primeval Titan and Sun Titan to Trigger
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
Name:Grave Titan
|
Name:Grave Titan
|
||||||
ManaCost:4 B B
|
ManaCost:4 B B
|
||||||
Types:Creature Giant
|
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
|
PT:6/6
|
||||||
K:Deathtouch
|
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:Rarity:Mythic
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/grave_titan.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/grave_titan.jpg
|
||||||
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/97.jpg
|
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/97.jpg
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
Name:Primeval Titan
|
Name:Primeval Titan
|
||||||
ManaCost:4 G G
|
ManaCost:4 G G
|
||||||
Types:Creature Giant
|
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
|
PT:6/6
|
||||||
K:Trample
|
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:Rarity:Mythic
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/primeval_titan.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/primeval_titan.jpg
|
||||||
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/192.jpg
|
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/192.jpg
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
Name:Sun Titan
|
Name:Sun Titan
|
||||||
ManaCost:4 W W
|
ManaCost:4 W W
|
||||||
Types:Creature Giant
|
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
|
PT:6/6
|
||||||
K:Vigilance
|
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:Rarity:Mythic
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/sun_titan.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/sun_titan.jpg
|
||||||
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/35.jpg
|
SetInfo:M11|Mythic|http://magiccards.info/scans/en/m11/35.jpg
|
||||||
|
|||||||
@@ -2260,59 +2260,6 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}//*************** END ************ END **************************
|
}//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
@@ -6814,29 +6761,6 @@ public class CardFactory_Creatures {
|
|||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
ability.setDescription(abCost+"Exile an Assassin card from your graveyard: Destroy target creature.");
|
ability.setDescription(abCost+"Exile an Assassin card from your graveyard: Destroy target creature.");
|
||||||
}//*************** END ************ END **************************
|
}//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
|
|||||||
@@ -1675,106 +1675,6 @@ public class CombatUtil {
|
|||||||
|
|
||||||
}//Jedit
|
}//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()) {
|
else if(c.getName().equals("Preeminent Captain") && !c.getCreatureAttackedThisCombat()) {
|
||||||
System.out.println("Preeminent Captain Attacks");
|
System.out.println("Preeminent Captain Attacks");
|
||||||
PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, c.getController());
|
PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, c.getController());
|
||||||
|
|||||||
Reference in New Issue
Block a user