mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
- Converted Grave Titan, Primeval Titan and Sun Titan to Trigger
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2262,59 +2262,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 **************************
|
||||
else if(cardName.equals("Penumbra Kavu")) {
|
||||
final Ability ability = new Ability(card, "0") {
|
||||
@@ -6816,29 +6763,6 @@ public class CardFactory_Creatures {
|
||||
}//*************** 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 **************************
|
||||
else if(cardName.equals("Mogg War Marshal") || cardName.equals("Goblin Marshal")) {
|
||||
final SpellAbility ability = new Ability(card, "0") {
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user