mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Converted Cerulean Sphinx, Temporal Adept, and Witch Hunter to AF
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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")) {
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user