- Converted Meddling Mage to script.

- Added Nevermore.
This commit is contained in:
Sloth
2011-10-21 11:28:58 +00:00
parent 73a7ec055b
commit dd18bac572
5 changed files with 26 additions and 56 deletions

1
.gitattributes vendored
View File

@@ -5420,6 +5420,7 @@ res/cardsfolder/n/neurok_replica.txt svneol=native#text/plain
res/cardsfolder/n/neurok_spy.txt svneol=native#text/plain res/cardsfolder/n/neurok_spy.txt svneol=native#text/plain
res/cardsfolder/n/neverending_torment.txt -text res/cardsfolder/n/neverending_torment.txt -text
res/cardsfolder/n/nevermaker.txt svneol=native#text/plain res/cardsfolder/n/nevermaker.txt svneol=native#text/plain
res/cardsfolder/n/nevermore.txt -text
res/cardsfolder/n/nevinyrrals_disk.txt svneol=native#text/plain res/cardsfolder/n/nevinyrrals_disk.txt svneol=native#text/plain
res/cardsfolder/n/new_benalia.txt svneol=native#text/plain res/cardsfolder/n/new_benalia.txt svneol=native#text/plain
res/cardsfolder/n/nezumi_bone_reader.txt svneol=native#text/plain res/cardsfolder/n/nezumi_bone_reader.txt svneol=native#text/plain

View File

@@ -1,8 +1,10 @@
Name:Meddling Mage Name:Meddling Mage
ManaCost:U W ManaCost:U W
Types:Creature Human Wizard Types:Creature Human Wizard
Text:As Meddling Mage enters the battlefield, name a nonland card. Text:no text
PT:2/2 PT:2/2
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigName | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, name a nonland card.
SVar:TrigName:AB$ NameCard | Cost$ 0 | Defined$ You
S:Mode$ CantBeCast | ValidCard$ Card.NamedCard | Description$ The named card can't be cast. S:Mode$ CantBeCast | ValidCard$ Card.NamedCard | Description$ The named card can't be cast.
SVar:RemRandomDeck:True SVar:RemRandomDeck:True
SVar:Rarity:Rare SVar:Rarity:Rare

View File

@@ -0,0 +1,13 @@
Name:Nevermore
ManaCost:1 W W
Types:Enchantment
Text:no text
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigName | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, name a nonland card.
SVar:TrigName:AB$ NameCard | Cost$ 0 | Defined$ You
S:Mode$ CantBeCast | ValidCard$ Card.NamedCard | Description$ The named card can't be cast.
SVar:RemRandomDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/nevermore.jpg
SetInfo:ISD|Rare|http://magiccards.info/scans/en/isd/25.jpg
Oracle:As Nevermore enters the battlefield, name a nonland card.\nThe named card can't be cast.
End

View File

@@ -5,6 +5,7 @@ import forge.AllZone;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
import forge.CardList; import forge.CardList;
import forge.CardListFilter;
import forge.CardUtil; import forge.CardUtil;
import forge.ComputerUtil; import forge.ComputerUtil;
import forge.Constant; import forge.Constant;
@@ -1305,7 +1306,14 @@ public class AbilityFactory_Choose {
} }
} else { } else {
//TODO - not implemented CardList list = AllZoneUtil.getCardsInGame().getController(AllZone.getHumanPlayer());
list = list.filter(new CardListFilter() {
public boolean addCard(final Card c) {
return !c.isLand();
}
});
if(!list.isEmpty())
host.setNamedCard(list.get(0).getName());
} }
} }
} }

View File

@@ -1441,60 +1441,6 @@ public class CardFactory_Creatures {
}//*************** END ************ END ************************** }//*************** END ************ END **************************
//*************** START *********** START **************************
else if (cardName.equals("Meddling Mage")) {
final String[] input = new String[1];
final Ability ability = new Ability(card, "0") {
@Override
public void resolve() {
if (card.getController().isHuman()) {
input[0] = JOptionPane.showInputDialog(null, "Which card?", "Pick card",
JOptionPane.QUESTION_MESSAGE);
card.setNamedCard(input[0]);
} else {
String s = "Ancestral Recall";
CardList list = new CardList();
list.addAll(AllZone.getHumanPlayer().getCardsIn(Zone.Hand));
list.addAll(AllZone.getHumanPlayer().getCardsIn(Zone.Library));
list = list.filter(new CardListFilter() {
public boolean addCard(final Card c) {
return !c.isLand() && !c.isUnCastable();
}
});
if (list.size() > 0) {
Predicate<CardPrinted> isRare = CardPrinted.Predicates.Presets.isRareOrMythic;
List<CardPrinted> rares = isRare.select(list, CardDb.fnGetCardPrintedByForgeCard, CardDb.fnGetCardPrintedByForgeCard);
if (!rares.isEmpty()) {
s = Predicate.getTrue(CardPrinted.class).random(rares).getName();
} else {
Card c = list.get(CardUtil.getRandomIndex(list));
//System.out.println(c + " - " + c.getRarity());
s = c.getName();
}
}
card.setNamedCard(s);
}
}
};
Command comesIntoPlay = new Command() {
private static final long serialVersionUID = 8485080996453793968L;
public void execute() {
AllZone.getStack().addSimultaneousStackEntry(ability);
}
};//Command
ability.setStackDescription("As Meddling Mage enters the battlefield, name a nonland card.");
card.addComesIntoPlayCommand(comesIntoPlay);
}//*************** END ************ END **************************
//*************** START *********** START ************************** //*************** START *********** START **************************
else if (cardName.equals("Kinsbaile Borderguard")) { else if (cardName.equals("Kinsbaile Borderguard")) {
final SpellAbility ability = new Ability(card, "0") { final SpellAbility ability = new Ability(card, "0") {