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
|
Name:Cerulean Sphinx
|
||||||
ManaCost:4 U U
|
ManaCost:4 U U
|
||||||
Types:Creature Sphinx
|
Types:Creature Sphinx
|
||||||
Text:U: Cerulean Sphinx's owner shuffles it into his or her library.
|
Text:no text
|
||||||
PT:5/5
|
PT:5/5
|
||||||
K:Flying
|
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:Rarity:Rare
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/cerulean_sphinx.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/cerulean_sphinx.jpg
|
||||||
SetInfo:RAV|Rare|http://magiccards.info/scans/en/rav/39.jpg
|
SetInfo:RAV|Rare|http://magiccards.info/scans/en/rav/39.jpg
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
Name:Temporal Adept
|
Name:Temporal Adept
|
||||||
ManaCost:1 U U
|
ManaCost:1 U U
|
||||||
Types:Creature Human Wizard
|
Types:Creature Human Wizard
|
||||||
Text:U U U, tap: Return target permanent to its owner's hand.
|
Text:no text
|
||||||
PT:1/1
|
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:Rarity:Rare
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/temporal_adept.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/temporal_adept.jpg
|
||||||
SetInfo:8ED|Rare|http://magiccards.info/scans/en/8e/106.jpg
|
SetInfo:8ED|Rare|http://magiccards.info/scans/en/8e/106.jpg
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ Types:Creature Human Cleric
|
|||||||
Text:no text
|
Text:no text
|
||||||
PT:1/1
|
PT:1/1
|
||||||
A:AB$DealDamage | Cost$ T | NumDmg$ 1 | Tgt$ TgtP | SpellDescription$ CARDNAME deals 1 damage to target player.
|
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:Rarity:Rare
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/witch_hunter.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/witch_hunter.jpg
|
||||||
SetInfo:DRK|Rare|http://magiccards.info/scans/en/dk/92.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(" - ");
|
sb.append(host.getName()).append(" - ");
|
||||||
|
|
||||||
if (params.containsKey("Defined"))
|
|
||||||
return sb.toString() + params.get("SpellDescription");
|
|
||||||
|
|
||||||
String destination = params.get("Destination");
|
String destination = params.get("Destination");
|
||||||
String origin = params.get("Destination");
|
String origin = params.get("Destination");
|
||||||
|
|
||||||
@@ -688,7 +685,7 @@ public class AbilityFactory_ChangeZone {
|
|||||||
else{
|
else{
|
||||||
// otherwise add self to list and go from there
|
// otherwise add self to list and go from there
|
||||||
tgts = new ArrayList<Card>();
|
tgts = new ArrayList<Card>();
|
||||||
tgts.add(af.getHostCard());
|
tgts.add(knownDetermineDefined(sa, params.get("Defined"), origin));
|
||||||
}
|
}
|
||||||
|
|
||||||
for(Card c : tgts)
|
for(Card c : tgts)
|
||||||
@@ -771,12 +768,7 @@ public class AbilityFactory_ChangeZone {
|
|||||||
tgtCards = tgt.getTargetCards();
|
tgtCards = tgt.getTargetCards();
|
||||||
else{
|
else{
|
||||||
tgtCards = new ArrayList<Card>();
|
tgtCards = new ArrayList<Card>();
|
||||||
Card retrieval;
|
tgtCards.add(knownDetermineDefined(sa, params.get("Defined"), origin));
|
||||||
if (params.containsKey("Defined"))
|
|
||||||
retrieval = knownDetermineDefined(sa, params.get("Defined"), origin);
|
|
||||||
else
|
|
||||||
retrieval = sa.getSourceCard();
|
|
||||||
tgtCards.add(retrieval);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(Card tgtC : tgtCards){
|
for(Card tgtC : tgtCards){
|
||||||
@@ -838,10 +830,10 @@ public class AbilityFactory_ChangeZone {
|
|||||||
|
|
||||||
// **************************** Known Utility **************************************
|
// **************************** Known Utility **************************************
|
||||||
private static Card knownDetermineDefined(SpellAbility sa, String defined, String origin){
|
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());
|
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?
|
// the "top" of the graveyard, is the last to be added to the graveyard list?
|
||||||
if (grave.size() == 0)
|
if (grave.size() == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -15036,41 +15036,7 @@ public class CardFactory_Creatures {
|
|||||||
|
|
||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
}//*************** END ************ END **************************
|
}//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Singing Tree")) {
|
else if(cardName.equals("Singing Tree")) {
|
||||||
final String Tgts[] = {"Creature.attacking"};
|
final String Tgts[] = {"Creature.attacking"};
|
||||||
@@ -15260,86 +15226,6 @@ public class CardFactory_Creatures {
|
|||||||
card.addComesIntoPlayCommand(intoPlay);
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Architects of Will")) {
|
else if(cardName.equals("Architects of Will")) {
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user