- Converted Cerulean Sphinx, Temporal Adept, and Witch Hunter to AF

This commit is contained in:
jendave
2011-08-06 13:32:20 +00:00
parent 6851b0a743
commit 0307333191
5 changed files with 9 additions and 128 deletions

View File

@@ -1,9 +1,10 @@
Name:Cerulean Sphinx
ManaCost:4 U U
Types:Creature Sphinx
Text:U: Cerulean Sphinx's owner shuffles it into his or her library.
Text:no text
PT:5/5
K:Flying
A:AB$ChangeZone | Cost$ U | Origin$ Battlefield | Destination$ Library | Shuffle$ True | SpellDescription$ CARDNAME's owner shuffles it into his or her library.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/cerulean_sphinx.jpg
SetInfo:RAV|Rare|http://magiccards.info/scans/en/rav/39.jpg

View File

@@ -1,8 +1,9 @@
Name:Temporal Adept
ManaCost:1 U U
Types:Creature Human Wizard
Text:U U U, tap: Return target permanent to its owner's hand.
Text:no text
PT:1/1
A:AB$ChangeZone | Cost$ U U U T | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target permanent to its owner's hand.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/temporal_adept.jpg
SetInfo:8ED|Rare|http://magiccards.info/scans/en/8e/106.jpg

View File

@@ -4,6 +4,7 @@ Types:Creature Human Cleric
Text:no text
PT:1/1
A:AB$DealDamage | Cost$ T | NumDmg$ 1 | Tgt$ TgtP | SpellDescription$ CARDNAME deals 1 damage to target player.
A:AB$ChangeZone | Cost$ 1 W W T | ValidTgts$ Creature+YouDontCtrl | TgtPrompt$ Select target creature you don't control | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target creature you don't control to its owner's hand.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/witch_hunter.jpg
SetInfo:DRK|Rare|http://magiccards.info/scans/en/dk/92.jpg

View File

@@ -674,9 +674,6 @@ public class AbilityFactory_ChangeZone {
sb.append(host.getName()).append(" - ");
if (params.containsKey("Defined"))
return sb.toString() + params.get("SpellDescription");
String destination = params.get("Destination");
String origin = params.get("Destination");
@@ -688,7 +685,7 @@ public class AbilityFactory_ChangeZone {
else{
// otherwise add self to list and go from there
tgts = new ArrayList<Card>();
tgts.add(af.getHostCard());
tgts.add(knownDetermineDefined(sa, params.get("Defined"), origin));
}
for(Card c : tgts)
@@ -771,12 +768,7 @@ public class AbilityFactory_ChangeZone {
tgtCards = tgt.getTargetCards();
else{
tgtCards = new ArrayList<Card>();
Card retrieval;
if (params.containsKey("Defined"))
retrieval = knownDetermineDefined(sa, params.get("Defined"), origin);
else
retrieval = sa.getSourceCard();
tgtCards.add(retrieval);
tgtCards.add(knownDetermineDefined(sa, params.get("Defined"), origin));
}
for(Card tgtC : tgtCards){
@@ -838,10 +830,10 @@ public class AbilityFactory_ChangeZone {
// **************************** Known Utility **************************************
private static Card knownDetermineDefined(SpellAbility sa, String defined, String origin){
// todo: get this working in AF.getDefined stuff
// todo: this function should return a ArrayList<Card> and then be handled by the callees
CardList grave = AllZoneUtil.getCardsInZone(origin, sa.getActivatingPlayer());
if (defined.equals("Top")){
if (defined != null && defined.equals("Top")){
// the "top" of the graveyard, is the last to be added to the graveyard list?
if (grave.size() == 0)
return null;

View File

@@ -15036,41 +15036,7 @@ public class CardFactory_Creatures {
card.addSpellAbility(ability);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Cerulean Sphinx")) {
final Ability intoLibrary = new Ability(card, "U") {
public void resolve() {
if(AllZoneUtil.isCardInPlay(card)) {
AllZone.GameAction.moveToLibrary(card);
card.getOwner().shuffle();
}
}
};
Input runtime = new Input() {
private static final long serialVersionUID = 8914195530360741167L;
@Override
public void showMessage() {
StringBuilder sb = new StringBuilder();
sb.append("Shuffle ").append(card).append(" into its owner's library");
intoLibrary.setStackDescription(sb.toString());
stopSetNext(new Input_PayManaCost(intoLibrary));
}
};
StringBuilder sb = new StringBuilder();
sb.append(card).append(" - shuffle ").append(card).append(" into owner's library");
intoLibrary.setStackDescription(sb.toString());
card.addSpellAbility(intoLibrary);
intoLibrary.setBeforePayMana(runtime);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Singing Tree")) {
final String Tgts[] = {"Creature.attacking"};
@@ -15260,86 +15226,6 @@ public class CardFactory_Creatures {
card.addComesIntoPlayCommand(intoPlay);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Witch Hunter")) {
final String Tgts[] = {"Creature+YouDontCtrl"};
Target target = new Target("Select target creature you don't control.", Tgts);
final Ability_Cost abCost = new Ability_Cost("1 W W T", card.getName(), true);
final SpellAbility ability = new Ability_Activated(card, abCost, target) {
private static final long serialVersionUID = -7134239527522243583L;
@Override
public void resolve() {
Card target = getTargetCard();
if( AllZone.GameAction.isCardInPlay(target) && CardFactoryUtil.canTarget(card, target)) {
AllZone.GameAction.moveToHand(target);
}
}
@Override
public boolean canPlay() {
Player opp = card.getController().getOpponent();
CardList targets = AllZoneUtil.getCreaturesInPlay(opp);
return AllZoneUtil.isCardInPlay(card) && targets.size() > 0 && super.canPlay();
}
@Override
public boolean canPlayAI() {
return false;
}
};//SpellAbility
card.addSpellAbility(ability);
StringBuilder sbDesc = new StringBuilder();
sbDesc.append(abCost).append("Return target creature an opponent controls to its owner's hand.");
ability.setDescription(sbDesc.toString());
StringBuilder sbStack = new StringBuilder();
sbStack.append(card.getName()).append(" - return target creature to owner's hand.");
ability.setStackDescription(sbStack.toString());
//ability.setBeforePayMana(runtime);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Temporal Adept")) {
final Ability_Tap ability = new Ability_Tap(card, "U U U") {
private static final long serialVersionUID = 6775250144167556206L;
@Override
public void resolve() {
Card target = getTargetCard();
if( CardFactoryUtil.canTarget(card, target)) {
AllZone.GameAction.moveToHand(target);
}
}
@Override
public boolean canPlay() {
CardList targets = AllZoneUtil.getCardsInPlay();
return AllZoneUtil.isCardInPlay(card) && targets.size() > 0 && super.canPlay();
}
@Override
public boolean canPlayAI() {
return false;
}
};//SpellAbility
card.addSpellAbility(ability);
StringBuilder sb = new StringBuilder();
sb.append(card.getName()).append(" - return target permanent to owner's hand.");
ability.setStackDescription(sb.toString());
ability.setBeforePayMana(CardFactoryUtil.input_targetPermanent(ability));
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Architects of Will")) {
/*